几个简单的小问题
1.输出满足1+2+3+.....+n<8888的最大正整数n
public static void main(String[] args) {
int sum=0,n=1;
while(true){
sum=sum+n;
n=n++;
if(sum>=8888){
break;}
}
System.out.println("满足条件的最大正整数:"+(n-1));
}
这个哪错了啊 为什么结果是0?
2.1000以内的完数
public static void main(String[] args) {
for(int i=1;i<=1000;i++){
int sum=0;
for(int j=1;j<i;j++){
if(i%j==0){
sum+=j;
}
}
if(sum==i){
System.out.print(i+"的因数是");
for(int j=1;j<i;j++){
if(i%j==0){
System.out.print(j+" ");
}
}
}
}
}
我把int sum=0移动到for循环的前边怎么就没结果了?
3.public static void main(String[] args) {
int x=1,y=6;
while(y-->0){
x--;
}
System.out.println("x="+x+",y="+y);
}
结果为什么是-5 -1,y=0的时候不满足条件循环不是应该终止了么?