“我的代码”不会根据公式打印出三角数,而只会循环数字1。
我的错误是什么?
public class Triangular{
public static void main(String[] args) {
int n = 1;
int t = (n * (n + 1)) / 2;
while(n <= 10) {
n++;
System.out.println(t);
}
}
}
答案 0 :(得分:3)
尽管您将n加1,但您没有在循环内重新计算t的值。
尝试计算循环内的t值,例如:
public static void main(String[] args)
{
int n = 0;
int t = 0;
while (n <= 10)
{
n++;
t = (n * (n + 1))/2;
System.out.println(t);
}
}
每次增加n的值时,都需要通过将n的新值传递到公式中来重新计算t的值。
答案 1 :(得分:2)
t
更改时,不会重新计算 n
。您需要在while
循环中分配它。另外,您也可以这样做:
public class Triangular {
public static void main(String[] args) {
int n = 1;
int t = 1;
while(n <= 10) {
System.out.println(t);
n++;
t += n;
}
}
}