class Array{
int a=209,b=208,c=207,d=206,m=205,n=204;
int getA(){
int sum = 0;
while(a <2003)
{ a = a + 6;
sum = sum + a;}
return sum ;
}
int getB(){
int sum =0;
while(b<2002)
{ b= b + 6;
sum = sum + b;}
return sum ;
}
int getC(){
int sum = 0;
while(c<2001)
{ c= c + 6;
sum = sum + c;}
return sum ;
}
int getD(){
int sum = 0;
while(d<2000)
{ d= d+ 6;
sum = sum + d;}
return sum ;
}
int getM(){
int sum = 0;
while(m<1999)
{ m= m + 6;
sum = sum + m;}
return sum ;
}
int getN(){
int sum = 0;
while(n<1998)
{ n= n + 6;
sum = sum + n;}
return sum ;
}
}
public class TestArray{
public static void main(String[] args){
Array x = new Array();
System.out.println(x.getA() + x.getB() + x.getC() - x.getD() - x.getM() - x.getN());
System.out.println(x.getA());
System.out.println(x.getB());
System.out.println(x.getC());
System.out.println(x.getD());
System.out.println(x.getM());
System.out.println(x.getN());
}
}
为什么,我运行的结果不能单独显示六个方法的结果,只有第一个结果,而且结果和我预想的有一点偏差?请各位高手帮帮忙!
int a=209,b=208,c=207,d=206,m=205,n=204;
int getA(){
int sum = 0;
while(a <2003)
{ a = a + 6;
sum = sum + a;}
return sum ;
}
int getB(){
int sum =0;
while(b<2002)
{ b= b + 6;
sum = sum + b;}
return sum ;
}
int getC(){
int sum = 0;
while(c<2001)
{ c= c + 6;
sum = sum + c;}
return sum ;
}
int getD(){
int sum = 0;
while(d<2000)
{ d= d+ 6;
sum = sum + d;}
return sum ;
}
int getM(){
int sum = 0;
while(m<1999)
{ m= m + 6;
sum = sum + m;}
return sum ;
}
int getN(){
int sum = 0;
while(n<1998)
{ n= n + 6;
sum = sum + n;}
return sum ;
}
}
public class TestArray{
public static void main(String[] args){
Array x = new Array();
System.out.println(x.getA() + x.getB() + x.getC() - x.getD() - x.getM() - x.getN());
System.out.println(x.getA());
System.out.println(x.getB());
System.out.println(x.getC());
System.out.println(x.getD());
System.out.println(x.getM());
System.out.println(x.getN());
}
}
为什么,我运行的结果不能单独显示六个方法的结果,只有第一个结果,而且结果和我预想的有一点偏差?请各位高手帮帮忙!
楼主【zyp627】截止到2008-07-27 12:02:00的历史汇总数据(不包括此帖):
发帖的总数量:63 发帖的总分数:850 每贴平均分数:13
回帖的总数量:33 得分贴总数量:0 回帖的得分率:0%
结贴的总数量:62 结贴的总分数:830
无满意结贴数:3 无满意结贴分:60
未结的帖子数:1 未结的总分数:20
结贴的百分比:98.41 % 结分的百分比:97.65 %
无满意结贴率:4.84 % 无满意结分率:7.23 %
值得尊敬
你运行完上面这个方法后,因变量a,b,c,d,m,n都已不满足方法内再次循环的条件,所以方法内的sum变量已不能累加。
你可以写个reset方法重置变量为初始值。
当调用getA() .......getN()时 ,都有可能改变它的值System.out.println(x.getA() + x.getB() + x.getC() - x.getD() - x.getM() - x.getN());
运行上面那条语句后,a,b,c,d,m,n的值已经改变了
已经大于getX()方法中的循环判断的值了.
所以第二次调用的时候,getX()的循环根本没运行.
sum还是等于它的初始值 0所以最后会打出6个0
执行完这句之后,六个get方法已经调用过了,这时候a,b,c,d,m,n已经是很大的值了,你可以自己输出看看。
所以再次调用的时候,六个方法中的循环不会执行,返回的就是sum=0的值