このフォーラムを見つけてよかったです。私はJava(初心者)に不慣れで、セッター、ゲッター、コンストラクターの使い方を学んでいます。エラーが発生し、解決方法がわかりません。このエラーを特定するのを手伝ってください。私は2つのクラスを作成しました。最初のクラスは、Add()、Multiply()、およびsettersetXYの2つのメソッドを持つMyCalcと呼ばれる単純なJavaアプリです。MyCalcクラスは、static void main()を使用してインスタンス化されます。
2番目のクラス「MyCalcTest」は1番目のクラスを呼び出します。スタンドアロンのJavaアプリMyCalcは、エラーなしで正常に実行されます。しかし、MycalcTestのsetter'setXY'を使用してパラメーターの値を設定しようとすると、elipseではsetXYを使用できません。理由は何ですか?
両方のクラスのコードは次のとおりです。
1)
public class MyCalc {
private double x, y;
//findout why it's throwing an error using setXY method from MyClacTest class
public void setXY(double x, double y) {
this.x = x;
this.y = y;
}
//this constructor with params works fine when called from MyCalcTest class
/*public MyCalc(double a, double b){
this.x = a;
this.y = b;
}*/
//getters
public double Add(){
return x+y;
}
public double Multiple(){
return (x * y);
}
public static void main(String[] args) {
//this works when called MyCalc with parameters
//MyCalc calc = new MyCalc(5, 5);
MyCalc calc = new MyCalc();
calc.setXY(5, 5);
System.out.println("Addition: " + calc.Add());
System.out.println("multiplication :" + calc.Multiple());
}
}
2)
public class MyCalcTest {
//this works when called MyCalc with parameters
//MyCalc calc = new MyCalc(5, 5);
MyCalc calc = new MyCalc();
//this doesn't workto set x,y why??
calc.setXY(5, 5);
}