我试图找出为什么这些代码在8之后不会显示任何内容。
public class numGame
{
public static void main(String[] args)
{
int number1 = 3;
int number2 = 8;
int total = 0;
System.out.print(number1 + " ");
System.out.print(number2 + " ");
while (total <450)
{
total = number1 + number2;
System.out.print(total + " ");
number1 = number2;
number2 = total;
}
}
}
这个想法是让3和8加起来11然后19然后30然后49等等,直到它达到大于或等于450的数字并结束。
3,8,11,19,30,49 ......
结构化或其他方式有问题吗?
[更新]
根据Luiggi的反馈,代码运行期待一个问题。
此输出为:3,8,11,19,30,49,79,128,207,335,542
程序应该在335处切断,因为542超过450.
if语句是解决它的一种方法吗?
答案 0 :(得分:0)
这甚至不会编译
a)总和未定义
b)你打印出总数,但这只是设置为0
c)num1或num2都没有递增,因此sum总是相同的值(循环时无限)
d)未定义num1或num2
e)为什么在最后更改number1和number2的值?
试
while (total < 450) {
total = number1 + number2;
number1 = number2;
number2 = total;
}
答案 1 :(得分:0)
你不是在任何地方计算总数。
Sum和Total令人困惑。
num1和number1也令人困惑。
while循环应该有大括号。