0

現在のところ、コンソールではコンパイルできますが、実行することはできません。
「エラー: メイン クラス MonsterFight が見つからないか、ロードできませんでした」と表示されます。

コードは次のとおりです。

class Fight {

    Random rand= new Random();

    int Hit (int x) {
        int numHit = rand.nextInt(100);
        return (int) x - numHit;
    }


class MonsterFight {
    public void main(String [] args){
        String name;
        int hp = 1000;

        System.out.println("You start at 1000 Hitpoints.");
        Fight battle = new Fight();

        while (hp != 0)  {
            hp = Hit(hp);
            System.out.println("You have now " + hp + " hitpoints.");
        }
    }
}

}

私はそれを機能させることができないようです。私はJavaにかなり慣れていないので、すべての助けに感謝します。また、これをよりきれいにするためのヒントも高く評価されます。

4

2 に答える 2

3

メイン メソッドstaticを宣言しMonsterFight、最上位クラスを作成します (静的メソッドは後者でのみ宣言できるため)。

class MonsterFight {
    public static void main(String [] args){
      ...
    }
}
于 2013-11-04T04:37:15.487 に答える
1

MonsterFight をパブリック外部クラスとして作成し、メイン メソッドのシグネチャを次のようにする必要があります。

 public static  void main(String [] args){

注: while ループには適切な条件があります

これを試して

import java.util.Random;

class Fight {
   static  int Hit (int x) {
       Random rand= new Random();
        int numHit = rand.nextInt(100);
        return (int) x - numHit;
    }

}

public class MonsterFight {
    public static  void main(String [] args){
        String name;
        int hp = 1000;

        System.out.println("You start at 1000 Hitpoints.");
        Fight battle = new Fight();

        while (hp != 0)  {
            hp = Fight.Hit(hp);
            System.out.println("You have now " + hp + " hitpoints.");
        }
    }
}
于 2013-11-04T04:38:13.607 に答える