我正在编写一个简单的Java程序,用于在学校中猜出正确的答案,当我把它带回家时,它会遇到错误.
起初我将TerminalIO.KeyboardReader更改为java.util.Scanner,现在当我通过Terminal运行它时,它返回"Incomparable types:java.lang.String and int".
有帮助吗?真的很困惑.
码:
import java.util.Scanner;
import java.util.Random;
public class guess {
public static void main(String [] args) {
Scanner keyboard = new Scanner(System.in);
Random generator = new Random();
System.out.println("I am thinking of a number from 1 to 10.");
System.out.println("You must guess what it is.");
System.out.print("Enter a guess: ");
int randomNumber = generator.nextInt(10) + 1;
String x = keyboard.nextLine();
int guessNum = 1;
while (x != randomNumber) {
System.out.println("Guess again!");
x = keyboard.nextLine();
guessNum ++;
}
System.out.println("RIGHT!");
System.out.println("You got it correct in " +guessNum + " guesses.");
}
Run Code Online (Sandbox Code Playgroud)
}
您无法比较int和String.
你可以这样做:
int someInt = 6;
String someString = "6";
String intAsString = Integer.toString(someInt);
if (someString.equals(intAsString)) {
System.out.println("Yay");
}
Run Code Online (Sandbox Code Playgroud)
您可以将String转换为如下数字:
int someInt = 6;
String someString = "6";
try {
int stringAsInt = Integer.parseInt(someString);
if (stringAsInt == someInt) {
System.out.println("Yay");
}
}
catch (NumberFormatException nfe) {
System.out.println("String is not an integer");
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5924 次 |
| 最近记录: |