public class Sum { //计算a加到b的方法,绝对值的声明方法是:Math.abs(-9)

public static int add(int a,int b)
{
int sum=0;
for(int i=0;i<Math.abs(a-b);i++)
{
sum+=a;
a++;
}
System.out.println("up:"+sum);
return sum;
}

public static void main(String[] args) {

add(1,3);
int sum=0;
int b=1;
for(int i=0;i<2;i++)
{
sum+=b;
b++;
}
System.out.println("next:"+sum);
}}

解决方案 »

  1.   

    在第一个Add方法中你的a++使得Math.abs()方法中的值改变了为2-3所以第二次循环跳出了。
    而第二个方法里没有跳出所以值为3.第一个方法的值为1。你看是不是。
      

  2.   

    你的第一个循环中a的值是随着你的循环在变化的,所以执行的结果有问题,如果你改成:
    public static int add(int a,int b) 

    int sum=0; 
    int n = Math.abs(a - b);
    for(int i=0;i < n;i++) 

    sum+=a; 
    a++; 

    System.out.println("up:"+sum); 
    return sum; 

    就可以达到你要的效果了
      

  3.   

    正是这样,add这个方法中循环中的值是变量,随着值的变化,循环的次数
    可定是不同的,而下面的值是常量,循环不会发发生改变,2楼、3楼说得很清晰
      

  4.   

    正是这样,add这个方法中循环中的值是变量,随着值的变化,循环的次数
    可定是不同的,而下面的值是常量,循环不会发发生改变,2楼、3楼说得很清晰
      

  5.   

    正是这样,add这个方法中循环中的值是变量,随着值的变化,循环的次数
    可定是不同的,而下面的值是常量,循环不会发发生改变,2楼、3楼说得很清晰