3
public class Recount {
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        Random rand = new Random();
        boolean s = false;
        int a;
        Scanner quest = new Scanner(System.in);

        do {
            int n = rand.nextInt(100) + 1;
            System.out.println(n);
            System.out.println("Try again?");
            s = quest.nextBoolean();
        } while (s != false);
    }
}

我想将上一次迭代中给出的数字添加到循环的当前迭代中的数字。

基本上我希望新的 n 等于旧的随机数 + 新的随机数。

4

2 回答 2

5

改变循环:

int n;
do {
    n += rand.nextInt(100) + 1;
    System.out.println(n);
    System.out.println("Try again?");
    s = quest.nextBoolean();
} while (s != false);

n现在在循环之外声明,这n+=rand.nextInt(100)+1意味着我们正在随机获取,并将其添加到n.

编辑以查看每个数字:

int n;
do {
    int tmp;
    tmp = rand.nextInt(100) + 1;
    n += tmp;
    System.out.println(tmp+" Total: "+n);
    System.out.println("Try again?");
    s = quest.nextBoolean();
} while (s != false);
于 2013-09-12T19:56:49.343 回答
0
int temp = n;
int n = rand.nextInt(100) + 1;
n += temp;
于 2013-09-12T19:59:19.980 回答