一切都很好,除非我将产品定义为两个随机整数相乘,我得到未解决的变量。如果整数是常规输入但由于某些原因使用随机产品无法正常工作,则可以正常工作。这就是我所拥有的:
import java.util.Random;
import java.util.Scanner;
public class class3 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
Random rn1 = new Random();
int product;
int answer;
for(int i =0; i < 1; i++) {
int answer1 = rn1.nextInt(9) + 1;
System.out.println(answer1);
}
Random rn2 = new Random();
for(int i =0; i < 1; i++) {
int answer2 = rn2.nextInt(9) + 1;
System.out.println(answer2);
}
product = answer1 * answer2;
while(true) {
System.out.println("What is the product of these numbers?");
answer = scan.nextInt();
if(answer == product) {
System.out.println("yay");
}
if(answer != product) {
System.out.println("no");
}
}
}
}
答案 0 :(得分:0)
它与随机数无关。问题是您在循环内初始化answer1
和answer2
。如果在循环内初始化变量,它就不会存在于循环之外。尝试添加
int answer1 = 0;
int answer2 = 0;
在循环之前。你的循环也只迭代一次。为什么循环只迭代一次?您也不需要两个随机对象。请尝试改为:
answer1 = rn1.nextInt(9) + 1;
System.out.println(answer1);
answer2 = rn1.nextInt(9) + 1;
System.out.println(answer2);
product = answer1 * answer2;