Java 为什么不是';我的代码是否多次随机生成?
很抱歉,可能是一个无趣的问题,但我无法找出这段代码的错误。我到处找了,但找不到任何答案 问题是,当我需要随机生成num和num2 5次时,它只会随机生成num和num2一次。非常感谢您的帮助Java 为什么不是';我的代码是否多次随机生成?,java,Java,很抱歉,可能是一个无趣的问题,但我无法找出这段代码的错误。我到处找了,但找不到任何答案 问题是,当我需要随机生成num和num2 5次时,它只会随机生成num和num2一次。非常感谢您的帮助 import java.util.Scanner; import java.util.Random; public class Choice5 { public static void main(String [] args) { Random r = new Rando
import java.util.Scanner;
import java.util.Random;
public class Choice5
{
public static void main(String [] args)
{
Random r = new Random();
Scanner k = new Scanner(System.in);
String name;
int num= 1 + r.nextInt(10);
int num2=1 + r.nextInt(10);
int answer = num*num2;
int attempt;
int countcorrect = 0;
int countincorrect =0;
System.out.println("Hi, what's your name?");
name =k.next();
for(int x=1; x<=5; x++)
{
System.out.println("Test " +x+ " of 5");
System.out.println("Ok " +name+ " What is " +num+ " x " +num2+ " ?");
attempt = k.nextInt();
if(attempt == answer)
{
System.out.println("Good Job " +name+ " the answer was indeed " +answer);
countcorrect++;
}
if(attempt != answer)
{
System.out.println("Incorrect " +name+ " the answer was actually " +answer);
countincorrect++;
}
}
System.out.println("You got " +countcorrect+ " right");
System.out.println("You got " +countincorrect+ " wrong");
if (countcorrect < 3)
{
System.out.println("You should try the test again");
}
else
{
System.out.println("Good job " +name+ " ,you passed the test!");
}
}
}
import java.util.Scanner;
导入java.util.Random;
公共课选择5
{
公共静态void main(字符串[]args)
{
随机r=新随机();
扫描仪k=新的扫描仪(System.in);
字符串名;
int num=1+r.nextInt(10);
int num2=1+r.nextInt(10);
int-answer=num*num2;
智力测验;
int countcorrect=0;
int count不正确=0;
System.out.println(“嗨,你叫什么名字?”);
name=k.next();
对于(int x=1;x您正在为num
和num2
选择一次随机数,精确到main
的顶部,更重要的是,在for
循环之前。这些数字不会再次分配,因此在所有循环迭代中都保持不变
要使它们在每次循环迭代中都发生更改,请声明数字和答案的变量,并在for
循环中(而不是之前)分配新值
for(int x=1; x<=5; x++)
{
int num= 1 + r.nextInt(10);
int num2=1 + r.nextInt(10);
int answer = num*num2;
// rest of code is the same
for(int x=1;x在本例中,当您调用nextNum()时,会生成一个随机数,因为num和num2只调用一次,因为它不在循环中
简单的回答是,将这些呼叫放在你的循环中以创建多个随机数。你认为它为什么应该重新分配num2
?