class BJA{

public static void main(String args[]){
int sum=0;
int j,n,k;
if(args.length!=2){
System.out.println("ming ling hang can shu  cuo wu:");
}
else{
    j=Integer.parseInt(args[0]);
n=Integer.parseInt(args[1]);
for(int i=j;i<=n;i++){


System.out.println(i+"+"+sum+"="+(sum+i));
     sum=sum+i;
}
}
}
}
程序通过命令行读取2个数,算出他们的累加和,比如5--20的,在输出算法那里卡住了怎么也不出我要的结果
我想要的结果为
5+6=11
11+7=18
18+8=26
26+9=35




。我改如何写???
用这算法可以输出1到100的累加和啊,为什么出不来这种?我要的结果是上来就是5+6=11可这么写他多了一个5+0....

解决方案 »

  1.   

    改成这样试试
    class BJA{
    public static void main(String args[]){
    int sum=0;
    int j,n,k;
    if(args.length!=2){
    System.out.println("ming ling hang can shu  cuo wu:");
    }
    else{
        sum=j=Integer.parseInt(args[0]);
    n=Integer.parseInt(args[1]);
    for(int i=j+1;i<=n;i++){

    System.out.println(i+"+"+sum+"="+(sum+i));
         sum=sum+i;
    }
    }
    }
      

  2.   

    for循环的第一步是5+0啊,你的sum的初始是0啊,你再看看,你应该在循环前给sum符上你要的值而不是0
      

  3.   

    sum的值我定义成我想要的那我还要命令行参数嘛用呀?我意思是从命令行接受2个参数比如5和20然后他输出5到20的累加和5+6+7+8+9+10.......
    输出形式为:
    5+6=11
    7+11=18
    8+18=26
    9+26=35
    .....这种样式,4楼的大哥改的这句sum=j=Integer.parseInt(args[0]);完全实现了这种方法...能具体给我说说么??如果不这么定义我在算法上如何改可以输出我想要的效果?
      

  4.   

    你的程序在循环开始时,sum=0,当然会输出0+x,我改了下sum的初值,并将i从j+1开始,可以实现你要的功能,这个算法已够简单,不用改进了