-
自己写猜拳的时候用的方法贼蠢,就是if嵌套。后来朋友告诉了我一个相对简单的写法。
-
重点在处理边界。
//javac -encoding UTF-8 FingerGuessing.java
import java.util.Scanner;
public class FingerGuessing {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("选择你打算出的手势(0:石头, 1:剪刀, 2:布):");
int self = sc.nextInt();
String[] arr = {"石头", "剪刀", "布"};
//处理边界
int bot = (int)(Math.random()*3);
int botA = bot - 1;
int botB = bot + 1;
if (botA < 0) {
botA = 2;
} else if (botB > 2) {
botB = 0;
}
//比较数组下标
if (self == bot) {
System.out.println(arr[self] + " vs " + arr[bot]);
System.out.println("interesting,打平了");
} else if (self == botA) {
System.out.println(arr[self] + " vs " + arr[bot]);
System.out.println("恭喜,你赢了");
} else {
System.out.println(arr[self] + " vs " + arr[bot]);
System.out.println("可惜,你输了");
}
}
}