请帮我解决我的问题.我如何得到总和值?
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)
您需要使用变量来保存方法返回的值的结果.代码有评论提供正确的解释.另外请注意,我用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为值的值sumVar和5值e.toString().然后,我们需要打印1 + sum并使用这两种方法,我们看到它打印1 + sumVar= 6和1 + e.toString()= 15.为什么?因为当添加任何一种String,将串连它,15是连击的结果1用5.
简而言之:最好使用变量来保存方法返回的值的结果.