如何获得总和值

vin*_*nod -6 java

请帮我解决我的问题.我如何得到总和值?

public class Exe {
    int sum;
    public int sumAB(int a,int b) {
        sum=a+b;
        return sum;
    }
}

public class Test {
    public static void main(String[] args){
        Exe e= new Exe();
        e.sumAB(2,3);
        System.out.println(e);
    }
}
Run Code Online (Sandbox Code Playgroud)

Lui*_*oza 5

您需要使用变量来保存方法返回的值的结果.代码有评论提供正确的解释.另外请注意,我用sumVar的变量表明,它是不一样的变量就是在Exe类,但它具有相同的价值.

public class Test {
    public static void main(String[] args){
        Exe e= new Exe();
        //declaring variable sumVar
        int sumVar;
        //assigning the value returned of e.sumAB into the sumVar variable
        sumVar = e.sumAB(2,3);
        //printing the value of sumVar
        System.out.println(sumVar);
    }
}
Run Code Online (Sandbox Code Playgroud)

请注意,在此代码中,我打印的是类sumVar中具有相同sum字段值的变量的结果Exe.另一种解决方案可以通过覆盖类中的toString方法来完成Exe:

public class Exe {
    int sum;
    public int sumAB(int a,int b) {
        sum=a+b;
        return sum;
    }
    @Override
    public String toString() {
        return Integer.toString(sum);
    }
}

public class Test {
    public static void main(String[] args){
        Exe e= new Exe();
        e.sumAB(2,3);
        //this method will automatically call e.toString for you
        System.out.println(e);
    }
}
Run Code Online (Sandbox Code Playgroud)

请注意,该toString方法比单个字段属性值处理更多用于提供信息.什么?我的意思是该toString方法最常用于显示对象的当前状态,而不是用于返回字段的值.我们在一个例子中看到这个:

public class Exe {
    int sum;
    public int sumAB(int a,int b) {
        sum=a+b;
        return sum;
    }
    @Override
    public String toString() {
        return Integer.toString(sum);
    }
}

public class Test {
    public static void main(String[] args){
        Exe e= new Exe();
        int sumVar;
        sumVar = e.sumAB(2,3);
        //print the value of sum
        System.out.println(sumVar);
        //print the value of sum using e.toString()
        System.out.println(e);
        //now, printing the result of adding 1 to sum
        System.out.println(1 + sumVar);
        //since you're adding a number you have to explicitly use toString() method
        System.out.println(1 + e.toString());
    }
}
Run Code Online (Sandbox Code Playgroud)

结果:

5
5
6
15
Run Code Online (Sandbox Code Playgroud)

在最后一个代码示例中,我们将看到它打印5为值的值sumVar5e.toString().然后,我们需要打印1 + sum并使用这两种方法,我们看到它打印1 + sumVar= 61 + e.toString()= 15.为什么?因为当添加任何一种String,将串连它,15是连击的结果15.

简而言之:最好使用变量来保存方法返回的值的结果.