问题描述:Tom和电脑进行猜拳,电脑每次都会生成0,1,2;0表示石头,1表示剪刀,2表示布
写出程序,要求写出Tom的输赢次数(清单)
import java.util.Scanner;
public class No14 {
public static void main(String[] args) {
int array[] = new int[10]; //创建一个数组,用于保存每次电脑随机生成的数字,设一共进行10次
int tom[] = new int[10]; //创建一个Tom输入结果的数组
int count = 0; //计数,表示Tom赢的次数
Tom t = new Tom(); //创建一个对象t
//对数组进行在0-2随机赋值,0表示石头,1表示剪刀,2表示布
for(int i = 0; i < array.length; i++) {
array[i] = (int) (Math.random()*2);
}
//创建输入程序
Scanner scanner = new Scanner(System.in);
//输入Tom输入的结果
System.out.println("输入Tom每次输入的结果:");
for(int i = 0; i < tom.length; i++) {
tom[i] = scanner.nextInt();
}
//输出随机生成的数组
System.out.println("随机生成的数组为:");
for(int i = 0; i < array.length; i++) {
System.out.print(array[i] + " ");
}
System.out.print("n");
System.out.println("============================");
//输出Tom输入的结果
System.out.println("Tom输入的结果为:");
for(int i = 0; i < tom.length; i++) {
System.out.print(tom[i] + " ");
}
System.out.print("n");
//对方法进行调用
t.judge(count,array,tom);
}
}
class Tom {
//判断方法以及输出最终胜利的次数
public void judge(int count, int array[] ,int tom[]) {
//进行循环,根据剪刀石头布的规则进行判断,如果胜利,则count++
//0表示石头,1表示剪刀,2表示布
for(int i = 0; i < tom.length; i++) {
if((tom[i] == 0 && array[i] == 1) || (tom[i] == 1 && array[i] == 2) || (tom[i] == 2 && array[i] == 0)){
System.out.println("第" + (i + 1) + "局胜利");
count++;
}else if(tom[i] == array[i]){
System.out.println("第" + (i + 1) + "局平局");
}else {
System.out.println("第" + (i + 1) + "局失败");
}
}
System.out.println("胜利的次数为" + count);
}
}



