“剪刀石头布”这个游戏我们都是知道且会玩的,那么该如何使用java程序代码来完成这个小游戏呢? 完成这个游戏的代码非常简单,主要用到了Scanner和Random函数,以及switch多重循环语句。
Scanner函数主要是实现输入功能,而Random函数则是随机产生一个数字与我们所输入的数字进行比较。在比较的时候是使用了三元运算b ? x : y , 它会首先计算b,如果b为true,则只计算x,否则,只计算y。
在使用switch语句的时候,我在case语句使用了新语法 “ ->”
,在使用新语法 “ ->”的时候,
不需要break语句,如果有多条语句,需要用{}
括起来。当然你也可以选择熟悉的case语句,但是别忘了break。
下面就是具体的代码,如有疑问请留言。
import java.util.Scanner;
import java.util.Random;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in); // 创建Scanner对象
System.out.println(" 剪刀为1,石头为2,布为3"); // 打印提示
System.out.println(" ");
System.out.print(" 请输入您的选择:");
int choice = scanner.nextInt();
Random random = new Random(); //创建一个Random对象
int rand_num = random.nextInt(1, 4);//产生一个1~4的随机数,不包括4
String opt = switch (choice) {
//三元运算b ? x : y会首先计算b,如果b为true,则只计算x,否则,只计算y
case 1 -> rand_num == 1 ? "平局" : (rand_num == 2 ? "你输了!" : "你胜了!");
case 2 -> rand_num == 2 ? "平局" : (rand_num == 3 ? "你输了!" : "你胜了!");
case 3 -> rand_num == 3 ? "平局" : (rand_num == 1 ? "你输了!" : "你胜了!");
default -> "输入异常"; };
System.out.println( " ");
System.out.println( " 结果:"+opt);
}
}