我是java新手,在网上做练习题。我遇到了这个问题,被困了很长时间。
编写一个名为 diceSum 的类,提示用户输入所需的总和,然后反复掷两个六面骰子,直到它们的总和为所需总和。这是与用户的预期对话:
Desired dice sum: 9
4 and 3 = 7
3 and 5 = 8
5 and 6 = 11
5 and 6 = 11
1 and 5 = 6
6 and 3 = 9
这就是我所做的。
import java.util.Random;
import java.util.Scanner;
public class diceSum{
public static void main(String[] args){
System.out.print("Desired dice sum: ");
Scanner sc=new Scanner(System.in);
int input=sc.nextInt();
Random rnd=new Random();
int r1=rnd.nextInt(7);
int r2=rnd.nextInt(7);
int sum=0;
for(int i=0;i<6;i++){
sum=r1+r2;
System.out.println(r1 + "and" + r2 + "=" + sum);
}
}
}
我的输出是
Desired dice sum:9
0 and 2=2
0 and 2=2
0 and 2=2
0 and 2=2
0 and 2=2
0 and 2=2
我不明白它为什么会在不给出另一个随机数的情况下打印 0 和 2 6 次。我在想是否应该再创建一些 int r3=rnd.nextInt(7),int r4=rnd.nextInt(7)。但我在想这会很长,但这是一种可能的方法。