gpt4 book ai didi

java - 为什么我的代码除了打印 math.random 之外不起作用?

转载 作者:行者123 更新时间:2023-12-02 03:54:02 25 4
gpt4 key购买 nike

我是一名新程序员,正在尝试通过随机项目自学 Java。下面是一个“石头、剪刀、布”游戏,我面临的问题是打印“a”后,程序结束并且不会继续执行下面的 if else 语句。任何可以提供的帮助将不胜感激。

package com.company;

import java.util.Scanner;

public class Main {

public static void main(String[] args) {

System.out.println("Hello & Welcome to Rock, Paper, Scissors. What's your name?");
Scanner scan = new Scanner(System.in);
String userChoice = scan.nextLine();
System.out.println("Hello, " + userChoice + ". Let's start a game!");
Scanner scan = new Scanner(System.in);
System.out.println("Choose one: Rock, Paper, Scissors");
String userFirstChoice = scan.nextLine();
System.out.println("You chose " + userFirstChoice);

double a = Math.random();
System.out.println(a);



if (a >= 0.00 && a<= 0.3){
if ( userFirstChoice== "Rock"){
System.out.println("Rock vs Rock: TIE");
}
else if (userFirstChoice == "Paper"){
System.out.println("Rock vs Paper: YOU LOSE!");
}
else if (userFirstChoice == "Scissors"){
System.out.println("Rock vs Scissors: YOU WIN!");
}

}
else if (a>=0.3 && a<=0.6){
if(userFirstChoice == "Paper"){
System.out.println("Paper vs Paper: TIE!");
}
else if (userFirstChoice == "Rock"){
System.out.println("Rock vs Paper: YOU LOSE!");
}
else if(userFirstChoice == "Scissors"){
System.out.println("Scissors vs Paper: YOU WIN!");
}

}
else if (userFirstChoice == "Scissors"){
System.out.println("Scissors vs Scissors: TIE!");
}
else if (userFirstChoice == "Paper"){
System.out.println("Paper vs Scissors: YOU LOSE!");
}
else if (userFirstChoice == "Rock") {

System.out.println("Rock vs Scissors: YOU WIN!");
}

}


}

最佳答案

在 Java 中不能使用 == 来比较字符串。 (== 比较引用== 的操作数可以是对不同字符串的引用,即使字符串contents 是相同的。)

使用 userFirstChoice.equals("Scissors") 等代替。

您在 double 类型上使用关系运算符是正确的。

关于java - 为什么我的代码除了打印 math.random 之外不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35644953/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com