我的代码有两个问题。我正在编写一个程序,模拟两个用户之间玩的剪刀石头布的游戏。获胜者取决于计算机生成的五轮比赛中最好的一轮。

三个要求:


您必须编写一个循环来运行游戏的五轮比赛,将值分配到两个数组中,不允许任何平局。
您必须编写一个循环以确定每个玩家的获胜次数。
您必须编写一个循环以打印每个数组中的值(映射到单词)。


我需要第一个需求中的“不允许联系”并将字映射到数组中的值以在第三个需求中进行打印时需要帮助。

所以,我需要这些数组:

玩家1 1 0 1 2 2

玩家2 2 1 0 1 0

看起来像这样:

玩家1玩家2

纸剪刀

石头纸

纸摇滚

剪刀纸

剪刀岩

这是我的第一个循环:

    for(index=0; index<5; index++){
        player1[index]=random.nextInt(3);
        player2[index]=random.nextInt(3);


第二循环:

    for(index=0; index<5; index++){
        if((player1[index]==0) && (player2[index]==2)){
            player1Win++;
        }else if((player1[index]==1) && (player2[index]==0)){
            player1Win++;
        }else if((player1[index]==2) && (player2[index]==1)){
            player1Win++;
        }else{
            player2Win++;
        }
    }


第三循环:

    for(index=0; index<5; index++){
        System.out.print("\t\t " + player1[index] + "");
        System.out.println("\t  " + player2[index] + "");
    }


谢谢!

最佳答案

player1[index]=random.nextInt(3);用整数填充数组。

if((player1[index]=='0') && (player2[index]=='2')){比较您的数组,就好像它们包含字符一样。

尝试if((player1[index]==0) && (player2[index]==2)){等(只需删除单引号)。

关于java - bluej中的“石头,剪刀,剪刀”中的数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26878108/

10-11 02:38