我想制作一个基本游戏,其中生成两个随机数,用户必须输入正确的产品.
我究竟做错了什么?谢谢
import java.util.Scanner;
import java.awt.*;
public class Userinput {
public static void main (String[] args) {
String firstName;
//Create scanner to obtain user input
Scanner scanner1 = new Scanner( System.in );
int a, b, correctAnswer;
a=(int) (Math.random()*10);
b=(int) (Math.random()*10);
//obtain user input
System.out.println("Enter your first name: ");
firstName = scanner1.nextLine();
//output information
System.out.print("Hello " + firstName + " ");
System.out.println("what is " + a +" times " + b);
String answer1 = scanner1.nextLine();
correctAnswer = a * b;
if ((answer1).equals(correctAnswer))
System.out.println("Correct!");
else if (!(answer1).equals ("correctAnswer"));
System.out.println("Incorrect!");
}
}
Run Code Online (Sandbox Code Playgroud)
你是一个比较String
(answer1
)到Integer
(correctAnswer
).那是比较苹果和橘子,它们永远不会相同.
您需要转换String
为int
:
Integer.parseInt(answer1)
Run Code Online (Sandbox Code Playgroud)
如果answer1
无法解析为整数,则可能会失败; 或转换int
为String
:
Integer.toString(correctAnswer)
Run Code Online (Sandbox Code Playgroud)
然后比较它们:
Integer.parseInt(answer1) == correctAnswer // You can use == because int is primitive.
or
answer1.equals(Integer.toString(correctAnswer))
Run Code Online (Sandbox Code Playgroud)