私はあなたの主な問題は、あなたがクラス中の任意の時点でvalue
を宣言したことがないという事実である想像します。しかし、@ junvarがカプセル化のためのgetterとsetterを含めるように答えたところを拡張しました。ここで私はそれを行う方法です....
public class MyInt {
private int value;
void setValue(int value) { //setter
this.value = value;
}
int getValue() { //getter
return this.value;
}
int square() { //square method
int sqred = getValue() * getValue();
return sqred;
}
public MyInt(int value) { //constructor
setValue(value);
}
public static void main(String[] args) { //main to run it
MyInt testCase = new MyInt(3);
System.out.println(testCase.square());
}
}
どこがエラーですか? –
あなたの 'square'メソッドで' MyInt.value'が見えますか? –
'value'が' public'であることを確認してください – Arijoon