我正在尝试学习 Java,我在高中学习了 Pascal,它有 repeat until..;
指令。
我想解决一个练习,我应该不断输入数字,直到倒数第二个 + 倒数第二个数字等于我输入的最后一个数字。(a[i-2]+a[i-1] = a [i]);
我在不使用数组的情况下执行此操作,但这并不重要。
在 Pascal 中这很容易,因为 repeat until 更容易使用 对于 ex 它将是
repeat
...
until ((a[i-2]+a[i-1] = a[i]) and (n=3));
n
是我输入的值的个数
我不知道如何在 Java 中引入它,到目前为止我这样做了,但是如果我输入 2 2 4
它不起作用。它应该停止,但它一直在询问数字
int pen = 0, ant = 0, s = 0, n = 1;
int ult = input.nextInt();
s = s + ult;
do {
do {
ant = pen;
pen = ult;
ult = input.nextInt();
n++;
s = s + ult;
} while (ant + pen != ult);
System.out.println(n);
} while ((n == 3) || (n < 4));
ult
是我输入的最后一个数字,s
是输入数字的总和。
谁能告诉我如何设置条件,以便在我输入值 2 2 4
时它会停止?
最佳答案
Do-While 循环首先运行循环中的代码。它最后评估逻辑,如果逻辑为真,则重复循环内的代码,依此类推,直到逻辑为假。
解决此类棘手问题的方法是拿出一张纸并记录每个变量的作用。像调试器一样逐行检查每一行,并在程序进行时记录每个变量中存储的内容。
这是最好的方法。您会发现您将更深入地了解您的程序是如何工作的。
关于java - 我不太了解 do { } while 结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38881552/