我正在做一个投掷硬币的游戏程序。但是我在这个部分有一个错误[(如果猜测==我){。我该如何解决这个问题?
问题描述:
import java.util.Scanner;
public class CoinTossGame {
public static void main(String[] args) {
System.out.println("A coin is tossed!");
int Heads=0, Tails=1;
Scanner input = new Scanner (System.in);
System.out.println("Enter your guess."); //Starting message
System.out.println("Press 0 for Heads and 1 for Tails."); //prompts user to enter the input
String Guess = input.nextLine(); //Stored input in variable
int i= (int) (Math.random() * 2); //Store random number
if (Guess==i) {
System.out.println("Nice guess.\nYou are really guenius!!");
}
else {
System.out.println("Opps! wrong guess.");
System.out.println("Try again.");
System.out.println("Thank you.");
}
}
}
答
您将整数与字符串进行比较。这显然是行不通的。将Guess
转换为int
或i
转换为String
。
答
你在比较的int
与String
:if (Guess==i)
你需要的是2个整数:
int guess = Integer.parseInt(input.nextLine()); //or int guess = input.nextInt();
int i = (int) (Math.random() * 2); //Store random number
if (guess==i) {
System.out.println("Nice guess.\nYou are really guenius!!");
}
或用2 Strings
:
String guess = input.nextLine();
String i = ((int) (Math.random() * 2)) + "";
if (guess.equals(i)) { // for object use equals() and not ==
System.out.println("Nice guess.\nYou are really guenius!!");
}
我已经downvoted这个问题因为“我有错误”不是有用的问题状态换货。请[编辑]您的问题,以包括您收到的错误,然后我会考虑收回我的downvote。 –
您正在比较INT与STRING ... – azro
/CoinTossGame.java:19:错误:无法比较的类型:字符串和整数 if(Guess == i){ ^ 1 error –