帮忙分析一下这个程序如何运行

爱她永远 2013-12-25 09:39:05

class Puzzle4b{
int ivar;
public int doStuff(int factor){
if(ivar>100){
return ivar*factor;
}
else{
return ivar*(5-factor);
}
}
}
public class Puzzle4 {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Puzzle4b [] obs=new Puzzle4b[6];
int y=1;
int x=0;
int result=0;
while(x<6){
obs[x]=new Puzzle4b();
obs[x].ivar=y;
y=y*10;
x=x+1;
}
x=6;
while(x>0){
x-=1;
result =result+obs[x].doStuff(x);
}
System.out.println("result:"+" "+result);
}
}
...全文
1712 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
tony4geek 2013-12-26
  • 打赏
  • 举报
回复
这个debug 很清晰的。
别闹腰不好 2013-12-26
  • 打赏
  • 举报
回复
class Puzzle4b{ int ivar; public int doStuff(int factor){ if(ivar>100){ return ivar*factor; ivar>100时候做乘法 } else{ return ivar*(5-factor); 这个也是做乘法 ,意义不明确 } } } public class Puzzle4 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Puzzle4b [] obs=new Puzzle4b[6];//定义一个长度是6的Puzzle4b 类型数组 int y=1; int x=0; int result=0; while(x<6){ obs[x]=new Puzzle4b();分别给数组元素赋值 obs[x].ivar=y;设置Puzzle4b 的属性 y=y*10; 下次要用到属性值是上次的10倍 x=x+1; 下次迭代的值 } x=6; while(x>0){ 又一次遍历数组 x-=1; result =result+obs[x].doStuff(x); 把每个元素运算值相加 } System.out.println("result:"+" "+result); } }
teemai 2013-12-25
  • 打赏
  • 举报
回复
如何运行?run as java application?

50,532

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧