我正在做一个投掷硬币的游戏程序。但是我在这个部分有一个错误[(如果猜测==我){。我该如何解决这个问题?

问题描述:

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."); 
    } 

} 
} 
+1

我已经downvoted这个问题因为“我有错误”不是有用的问题状态换货。请[编辑]您的问题,以包括您收到的错误,然后我会考虑收回我的downvote。 –

+2

您正在比较INT与STRING ... – azro

+0

/CoinTossGame.java:19:错误:无法比较的类型:字符串和整数 if(Guess == i){ ^ 1 error –

您将整数与字符串进行比较。这显然是行不通的。将Guess转换为inti转换为String

你在比较的intStringif (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!!"); 
}