所以我对编程非常陌生。我已经创建了一个简单的Calc类,虽然它是构造函数,却可以得到2个数字。我创建了一个calcTotal method
,它将这两个数字加在一起,并将它们放在一个名为total的变量中。然后我创建了一个printTotal方法,它只是System.out.println(total);
然而,当我在main中创建一个对象并调用printTotal方法时,它总是打印出0.我理解在我的Calc类中total总被初始化为0。我不明白如何将计算的总数从calcTotal方法传递给printTotal方法。如果我在CalcTotal方法中放置System.out.println(total),则在main中调用我得到正确的总数。
加快我的Calc课程
public class Calc{
private int numOne;
private int numTwo;
private int total;
public Calc(int numOne, int numTwo){
this.numOne = numOne;
this.numTwo = numTwo;
}
public void calcTotal(){
total = numOne + numTwo;
}
public void printTotal(){
System.out.println(total);
}
}
和我的主要
public class HelloWorld{
public static void main(String []args){
Calc myCalc = new Calc(3,5);
myCalc.printTotal();
}
}
我知道这是一个超级初学者的问题,但它可能会被低估,但令我感到沮丧。
感谢您的帮助
答案 0 :(得分:6)
在调用打印方法之前,你永远不会调用calcTotal()
这个进行计算的方法,因此永远不会计算总和。
但无论如何,你不应该有两个这样的方法,因为这个错误可以很容易地被阻止,只需让calcTotal()
返回int值,然后调用代码可以打印它,或者做任何事情想要它。
public int calcTotal() {
return numOne + numTwo;
}
在main中:
Calc myCalc = new Calc(3,5);
System.out.println("total: " + myCalc.calcTotal());
答案 1 :(得分:3)
您永远不会在打印之前计算总数。你的主要应该是这样的。
public class HelloWorld{
public static void main(String []args){
Calc myCalc = new Calc(3,5);
myCalc.calcTotal();
myCalc.printTotal();
}
}
您可能需要考虑将calcTotal()函数添加到构造函数中。
public Calc(int numOne, int numTwo){
this.numOne = numOne;
this.numTwo = numTwo;
calcTotal();
}