游戏规则:
(1表示拳头;2表示剪刀;3表示布;)
电脑随机产生1至3之间的一个随机数(包括1和3)int a=(int)(Math.random()*4);
用户自己从键盘输入一个1到3之间的随机数,
然后让两个数进行比较,看看是电脑胜还是用户胜
未优化代码前
//一个猜拳游戏
import java.util.Scanner;
public class Demo4{
public static void main(String[]args){
Scanner input = new Scanner(System.in);
//提问
System.out.print("请出拳:");
//回答
int num2 = input.nextInt();
int num1 = (int)(Math.random()*3+1);
System.out.print("电脑出的拳是:");
System.out.println(num1);
//判断并计算
if(num2>0&&num2<=3){
if(num1==num2){
//输出
System.out.println("平局");
}else if(num1==1&&num2==2){
System.out.println("电脑赢");
}else if(num1==2&&num2==3){
System.out.println("电脑赢");
}else if(num1==3&&num2==1){
System.out.println("电脑赢");
}else {
System.out.println("用户赢");
}
}else{
System.out.println("数字错了");
}
}
}
------------------------------------------------------------------------------
分析:
石头(1)剪刀(2)布(3)
电脑 人 如果去除1和1,2和2,3和3的情况
//1 1
1 2 1-2=-1(电脑赢)
1 3 1-3=-2(人赢)
//2 1 2-1=1(人赢)
2 2
2 3 2-3=-1(电脑赢)
//3 1 3-1=2(电脑赢)
3 2 3-2=1(人赢)
3 3
未优化代码后
import java.util.Scanner;
public class Demo4{
public static void main(String[]args){
Scanner input = new Scanner(System.in);
//提问
System.out.print("请出拳:");
//回答
int num2 = input.nextInt();
int num1 = (int)(Math.random()*3+1);
System.out.print("电脑出的拳是:");
System.out.println(num1);
//判断并计算
if(num2>0&&num2<=3){
if(num1==num2){
//输出
System.out.println("平局");
}else if(num1-num2==2||num1-num2==-1){
System.out.println("电脑赢");
}else if(num1-num2==-2||num1-num2==1){
System.out.println("人赢");
}else{
System.out.println("数字错了");
}
}
}
(1表示拳头;2表示剪刀;3表示布;)
电脑随机产生1至3之间的一个随机数(包括1和3)int a=(int)(Math.random()*4);
用户自己从键盘输入一个1到3之间的随机数,
然后让两个数进行比较,看看是电脑胜还是用户胜
未优化代码前
//一个猜拳游戏
import java.util.Scanner;
public class Demo4{
public static void main(String[]args){
Scanner input = new Scanner(System.in);
//提问
System.out.print("请出拳:");
//回答
int num2 = input.nextInt();
int num1 = (int)(Math.random()*3+1);
System.out.print("电脑出的拳是:");
System.out.println(num1);
//判断并计算
if(num2>0&&num2<=3){
if(num1==num2){
//输出
System.out.println("平局");
}else if(num1==1&&num2==2){
System.out.println("电脑赢");
}else if(num1==2&&num2==3){
System.out.println("电脑赢");
}else if(num1==3&&num2==1){
System.out.println("电脑赢");
}else {
System.out.println("用户赢");
}
}else{
System.out.println("数字错了");
}
}
}
------------------------------------------------------------------------------
分析:
石头(1)剪刀(2)布(3)
电脑 人 如果去除1和1,2和2,3和3的情况
//1 1
1 2 1-2=-1(电脑赢)
1 3 1-3=-2(人赢)
//2 1 2-1=1(人赢)
2 2
2 3 2-3=-1(电脑赢)
//3 1 3-1=2(电脑赢)
3 2 3-2=1(人赢)
3 3
未优化代码后
import java.util.Scanner;
public class Demo4{
public static void main(String[]args){
Scanner input = new Scanner(System.in);
//提问
System.out.print("请出拳:");
//回答
int num2 = input.nextInt();
int num1 = (int)(Math.random()*3+1);
System.out.print("电脑出的拳是:");
System.out.println(num1);
//判断并计算
if(num2>0&&num2<=3){
if(num1==num2){
//输出
System.out.println("平局");
}else if(num1-num2==2||num1-num2==-1){
System.out.println("电脑赢");
}else if(num1-num2==-2||num1-num2==1){
System.out.println("人赢");
}else{
System.out.println("数字错了");
}
}
}