无法解决Java测验的解决方案

时间:2018-04-11 23:47:02

标签: java while-loop

考虑代码

int i = 1;
while (<<?>>){
i = i*n;
}

代替<<?>>应该写什么,以便当我至少34岁时循环结束?

更新

在此问我之前,我已经尝试了大部分建议,但您的建议证实出现了问题。 这就是为什么我派教学人员说这是不可解决的,因为n是未知的,甚至没有声明。 然后我收到了这个回复:

问题中的代码只是一个代码段,因此不必显示n的值(其值已设置)。要回答这个问题,你实际上并不需要知道n的值,这可能是问题意图的一部分(我只是猜测......)。 无论如何,你可以认为n是一些未知的常数。无论你想象的是什么,你的答案仍然是一样的。 谢谢,

就个人而言,我可以通过并继续前进,但我会继续努力,直到得到正确答案。

3 个答案:

答案 0 :(得分:0)

我认为这有多个有效答案。我会说一个是:

while (((n=2) > 0) && i<34)

这确保首先输入循环(语句&#34;循环结束时......&#34;暗示imo),并且还修复了关于n的缺失信息(可能是0)或者例如1)

答案 1 :(得分:0)

让我们确保我们了解当我至少34岁时循环结束的含义。 这意味着循环将在i为34或更大时结束。您只需要编写一个表达式,以便在i至少为34时退出循环。当i小于34时,我们希望循环继续执行。考虑到您实际上不需要知道n的值,在(<<?>>)中的答案应该是i < 34

参考:https://www.w3schools.com/js/js_comparisons.asp

答案 2 :(得分:-2)

while循环的语法是while (condition)。在这种情况下,条件应为i < 34。以下代码应该有效:

int i = 1;
while (i < 34) {
    i = i * n;
}

此外,x = x * y可以缩短为x *= y。以下代码是等效的:

int i = 1;
while (i < 34) {
    i *= n
}

希望这有帮助!