一个石头、剪刀、布游戏,如果让你用switch语句去写,你会怎么写呢?
分享一下在廖老师博客下看到的一个独特的思路
//石头剪刀布游戏
/*石头 0 剪刀1 布2
我石头0-1=-1(机器出石头) 0-2=-2(机器出布)
我剪刀1-0=1(机器出石头) 1-2=-1(机器出布)
我布2-0=2(机器出石头)2-1=1(机器出剪刀)
1,-2稳输 -1,2稳赢
平局=0
出现其他情况,说明输入不规范,没有输入一个0~2之内的一个整数*/
代码如下:
import java.util.Random;
import java.util.Scanner;
public class Hello {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
Random ran = new Random();
System.out.println("石头0,剪刀1,布2");
int machine = ran.nextInt(3);
int human = sc.nextInt();
switch (human - machine){
case 0 -> {
System.out.println("您出的"+human+"机器出的"+machine+"平局");
}
case -1,2 ->{
System.out.println("您出的"+human+"机器出的"+machine+"您赢了");
}
case -2,1 -> {
System.out.println("您出的"+human+"机器出的"+machine+"机器赢了");
}
default -> {
System.out.println("您出的"+human+"机器出的"+machine+"请按规范出");
}
}
}
}
第一次用这样的方式记录,希望大家多多关照