Discuss / Java / switch 选择

switch 选择

Topic source
import java.util.Scanner;
public class Fingerplay {
	public static void main (String[] args) {
		Scanner scanner =new Scanner(System.in);
		System.out.print("1:Scissors\n2:Rock\n3:Paper\nPlease pick your choice:");	
		String result = switch (scanner.nextInt()-((int)(Math.random()*3)+1)){
			case 1,-2 -> "won";
			case 0 -> "draw";
			default -> "lost";};
		System.out.printf("You %s!",result);	
	}
}	

Fmy付明宇

#2 Created at ... [Delete] [Delete and Lock User]
public static void main(String[] args) {    System.out.print("1:Scissors\n2:Rock\n3:Paper\nPlease pick your choice:");    Scanner scanner = new Scanner(System.in);    Map<Integer, List<String>> resultMap = new HashMap<>(3);    resultMap.put(1, Lists.newArrayList("draw", "lost", "won"));    resultMap.put(2, Lists.newArrayList("won", "draw", "lost"));    resultMap.put(3, Lists.newArrayList("lost", "won", "draw"));    int yours = scanner.nextInt();    int computer = ((int)(Math.random()*3)+1);    switch (yours) {        case 1:            System.out.println(resultMap.get(1).get(computer - 1));            break;        case 2:            System.out.println(resultMap.get(2).get(computer - 1));            break;        case 3:            System.out.println(resultMap.get(3).get(computer - 1));            break;        default:            System.out.println("输入出错!");            break;    }    scanner.close();}

Fmy付明宇

#3 Created at ... [Delete] [Delete and Lock User]

您的方案中 没有考虑输入的数字为> 3的情况


  • 1

Reply