0

私はJavaを初めて使用するので、この小さなプロジェクトを作成する必要があります。だから私は3つ以上のクラスを持っています。

私のコードはpastebinhttp ://pastebin.com/GEq9DLiPにあります

などなど。問題は、3番目のクラスでそれが言うことです

"kangelane cannot be resolved"

しかし、kangelaneはMain.javaですでに「定義」されており、同じパッケージに含まれています。ああ、Eclipseも後に「オープンブレース」を追加したいと考えています

int sook = 4;また

int dam;

また、開いているブラケットはすべて閉じていても、最後まで「ブラケット」を閉じます。その逆も同様です。

「Voitleja.java」にゲッターとセッターがあるので、うまくいきます。私が3つではなく2つのクラスしか持っていなかったときもうまくいきました(Voitlusはメインにありました)

4

2 に答える 2

1

問題は、mainが静的クラスであるということです。mainクラスとoterクラスの両方で変数を使用する場合は、静的変数として定義する必要があります。たとえば、次のようにする必要があります。

public class Main {
static Voitleja kangelane;
            public static void main(String[] args) {
                    String nimi = JOptionPane.showInputDialog("Sisestage võitleja nimi");
                    kangelane = new Voitleja(nimi, 55, 12);
            }
    }

次に、他のクラスで(インポートが正しいと仮定して)

        public class Voitlus{
            Random generator = new Random();
            int dam;
            int sook = 4;
            while (true) {
                    Main.kangelane.setElud(kangelane.getElud() + 7);
            }
    }
于 2013-03-03T13:37:12.187 に答える
0
public static void main(String[] args) {
    String nimi = JOptionPane.showInputDialog("Sisestage võitleja nimi");
    Voitleja kangelane = new Voitleja(nimi, 55, 12);
}

(後で)

while (true) {
    kangelane.setElud(kangelane.getElud() + 7);
}

変数は別のスコープにあります。両方のメソッドがそれを「見る」ことができるように、宣言kangelaneの直後に宣言する必要があります。public class

于 2013-03-03T13:32:10.303 に答える