java - 在函数中使用时无法解析 Rand Ints
问题描述
一切都很好,除了当我将产品定义为两个随机整数相乘时,我得到未解析的变量。如果整数是常规输入但由于某种原因使用随机输入的产品不起作用。这是我所拥有的:
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");
}
}
}
}
解决方案
它与随机数无关。问题是你初始化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;
推荐阅读
- oracle-sqldeveloper - 将表数据导出到 SQL Developer 中没有的 csv 文件选项(版本 3.1.07)
- python - 如何在 python 中执行非阻塞脚本并获取其返回码?
- c# - MS Word 通过 COM-object 接口将图像添加到基板/水印
- reactjs - 反应路由器:动态 url id
- php - 如何在 Laravel 中访问验证错误属性名称?
- vb.net - 即使使用通配符也无法从外部访问 VB.net 服务器
- javascript - 在构造函数中访问构造函数的属性
- python - 查找第一次出现的代码,如果没有出现则返回 0,然后将新列附加到 csv (python)
- visual-studio-code - 在顶部显示我的自定义 vscode 语言扩展建议
- java - 如何使 mediaView 始终出现在 JavaFX 中 BorderPane 的中心?