大家好!我是JAVA的初学者,现在有个问题请大家帮我解答,代码如下:
public class Mix4 {
int counter=0;
public static void main(String[]args) {
int count=0;
Mix4 [] m4a=new Mix4[20];
int x=0;
while ( x<19) {
m4a[x]=new Mix4();
m4a[x].counter=m4a[x].counter + 1;
count=count+1;
count=count+m4a[x].maybeNew(x); x=x+1;
}
System.out.println(count + " " + m4a[1].counter);
}
public int maybeNew(int index) {
if ( index<1 ) {
Mix4 m4=new Mix4();
m4.counter=m4.counter+1;
return 1;
}
return 0;
}
}
它的输出是: 20 1。请问最好後的return 1和return 0分别返回到那里?
谢谢!
public class Mix4 {
int counter=0;
public static void main(String[]args) {
int count=0;
Mix4 [] m4a=new Mix4[20];
int x=0;
while ( x<19) {
m4a[x]=new Mix4();
m4a[x].counter=m4a[x].counter + 1;
count=count+1;
count=count+m4a[x].maybeNew(x); x=x+1;
}
System.out.println(count + " " + m4a[1].counter);
}
public int maybeNew(int index) {
if ( index<1 ) {
Mix4 m4=new Mix4();
m4.counter=m4.counter+1;
return 1;
}
return 0;
}
}
它的输出是: 20 1。请问最好後的return 1和return 0分别返回到那里?
谢谢!
解决方案 »
- 求高人解释一段递归代码
- linux下安装mongodb 报错
- 用PreparedStatement查询
- 打开一个文件后,如何接着原来的内容写文件?(吐血求救!!!)
- java中不知道一个方法的返回值变量类型时,怎样得到这个变量的数据类型??
- 谁做过 ESB 啊,给点资料和说明吧
- 下了些C#的源码要分析,在打印的时候能不能把行号也打印出来啊。谢谢
- 一个基本的问题。(很容易给分的哟)
- 求解类方法
- 刚学swing,怎样利用MyEclipse中的图形界面工具实现JPanel的切换呢??
- .....如何更新界面的JLabel的颜色?......
- 紧急求助,否则下礼拜要去失业办报道了。问题是关于syslog-ng,rsync,日志文件监控的思路
================================
返回到这里啊,第一次循环的时候,conunt = 0 + m4a[0].maybeNew(x);==conunt = 0 + 1 = 1
以后每次的maybeNew(x);都会返回0,conunt就+1,又由于conunt再上面还+1(count=count+1;),所以19次循环过后,count = 20
而m4a[x].counter一直会是1
这个方法结束返回值是int 也就是你return 的1 或0。也就是返回到调用这个这个方法的地方。