加一个sum = 0放在while的里面
每一次sum累加后都要归0
public class Sum1 {
public static void main(String[] args) {
int n=10;
int sum;
while(n>0){
sum=0;
for(int i=1;i<=n;i++)
sum+=i;
System.out.println("前"+n+"个数的和是"+sum);
n--;
}
}
}
外层循环执行了10次,第一次从1加到10,得到sum=55.第二次从1加到9,但由于这时候sum的初始值是55,所以结果为sum=55(第一次循环时的结果)+45(1加到9)=100,。。。以此类推。。
public class Sum1 {
public static void main(String[] args) {
int n=10;int sum=0;
while(n>0){
for(int i=1;i<=n;i++)
sum+=i;
System.out.println("前"+n+"个数的和是"+sum);
sum=0; //这里sum要从新置零,不然会继续累加。
n--;
}
}
}
n--后面再加个sum=0.
什么问题啊?