我的代码有两个问题。我正在编写一个程序,模拟两个用户之间玩的剪刀石头布的游戏。获胜者取决于计算机生成的五轮比赛中最好的一轮。
三个要求:
您必须编写一个循环来运行游戏的五轮比赛,将值分配到两个数组中,不允许任何平局。
您必须编写一个循环以确定每个玩家的获胜次数。
您必须编写一个循环以打印每个数组中的值(映射到单词)。
我需要第一个需求中的“不允许联系”并将字映射到数组中的值以在第三个需求中进行打印时需要帮助。
所以,我需要这些数组:
玩家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/