谁能帮我详细解释下段java程序 每一句语句都帮我解解一下,谢谢

publicclassMix4{intcounter=0;publicstaticvoidmain(String[]args){intcount=0;Mix4[]m4a=... 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<9){
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 <5){
Mix4 m4 = new Mix4 ();
m4.counter = m4.counter + 1;
return 1 ;

}
return 0;
}

}
展开
 我来答
阿尔卑斯先生
2011-11-01 · TA获得超过433个赞
知道答主
回答量:219
采纳率:0%
帮助的人:146万
展开全部
public class Mix4 { //定义一个类MIX4

int counter = 0 ; //定义一个计数器
public static void main (String [] args ){
int count = 0; //再定义一个计数器
Mix4 [] m4a = new Mix4[20]; //定义一个MIX4类的数组,长度为20,名字叫m4a
int x = 0;
while (x<9){
m4a[x] = new Mix4 (); //将新建的一个MIX4加入到m4a[x](x刚开始为0)数组中
m4a[x].counter = m4a[x].counter +1; //将m4a[x]中的放着的MIX4类的计数器加一 ,因为每次调用m4a[x].counter时候总是会想将counter的值设为0,所以打印出来的counter总为1
count = count +1; //COUNT加1
count = count + m4a[x].maybeNew(x); /调用自己的meybeNew()方法,将count与meybeNew()的返回值1或者0相加
x = x+1; //循环一次,x+1

}
System.out.println (count + " " + m4a[1].counter);
}
public int maybeNew(int index ) { //这个方法是将传入的x的值与5比较,比5小,返回1,同时将counter的值+1,因为每次调用m4a[x].counter时候总是会想将counter的值设为0,所以打印出来的counter总为1,大于等于5则返回0
if (index <5){
Mix4 m4 = new Mix4 ();
m4.counter = m4.counter + 1;
return 1 ;

}
return 0;
}

}
追问
因为每次调用m4a[x].counter时候总是会想将counter的值设为0,

为什么呢?
追答
int counter = 0 ;在主函数体之外,每次调用一个MIX4时总是先将int counter = 0 ;这句语句执行一遍,所以counter的初值每次都是0
康熙转世
2011-11-01 · TA获得超过6839个赞
知道大有可为答主
回答量:4325
采纳率:85%
帮助的人:2927万
展开全部
public class Mix4 {//声明公有的类Mix4
int counter = 0 ;//定义int型变量counter值为0
public static void main (String [] args ){//主函数
int count = 0;//定义int型变量count值为0
Mix4 [] m4a = new Mix4[20];//定义Mix4对象的数组m4a 长度为20
int x = 0;//定义int型变量x值为0
while (x<9){//判断当x<9时执行一下循环
m4a[x] = new Mix4 ();//将m4a数组的第x的个元素实例化new一Mix4个对象
m4a[x].counter = m4a[x].counter +1;//将这个实例化的对象的count属性加1并赋值给本身
count = count +1;//count自增1
count = count + m4a[x].maybeNew(x);//将上一步count和实例化的对象的maybeNew方法的和赋值给count
x = x+1;//x自增1

}
System.out.println (count + " " + m4a[1].counter); //打印count的值加空格加m4a中第二个元素的count的值
}
public int maybeNew(int index ) {//定义返回值是int型 参数是int型的方法maybeNew
if (index <5){//判断参数是否小于5 如果条件成立执行
Mix4 m4 = new Mix4 ();//实例化一个Mix4对象m4
m4.counter = m4.counter + 1;//将m4的count属性自增1
return 1 ;//函数返回1

}
return 0;//函数返回0(if不成立)
}

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式