一个java的小问题,帮我逐句分析一下,为什么最后打印结果是543345,详细一点谢谢各位

2025-02-24 12:48:54
推荐回答(1个)
回答1:

public class Puzzle4{
public static void main(String[] args){
//创建了一个六个元素的数组(元素类型为Puzzle4b)
Puzzle4b[]obs = new Puzzle4b[6];
int y = 1;
int x = 0;
int result = 0;
//这个循环给数组里对象的ivar变量分别赋值为
//{1,10,100,1000,10000,100000}
while (x<6){
obs[x] = new Puzzle4b();
obs[x] .ivar =y;
y = y*10;
x=x+1;
}
//调用doStuff()得到六个值为{500000,40000,3000,300,40,5}
//将六个值相加得result为543345
x=6;
while (x>0){
x=x-1;
result = result + obs[x].doStuff(x);
}
System.out.println("result "+ result);
}
}
class Puzzle4b{
int ivar;
public int doStuff(int factor){
if(ivar >100){
return ivar*factor;

}else{
return ivar * (5-factor);
}
}
}