0

このコードを使用してメイン クラスから start メソッドを実行しようとすると、次のようになります。

public class rungame {
    public void run() {
        Menu.start(string[]);
    }
}

私が実行しようとしている方法は次のとおりです。

    public class Menu{

    public static void start(String[] args){
        for( ; ; ){
            System.out.println("\nWelcome To The Block Game By Joe Easton\n");
            System.out.println("Enter S To Start");
            System.out.println("Enter H For Help");
            System.out.println("Enter E To Exit");
            System.out.println("\nWhat is your command?");

            //loop looking for input
            for( ; ; ){

                //private
                String answer;
                Keyboard kb = new Keyboard();
                answer = kb.readString();

                if(answer.charAt(0) == 'S' || answer.charAt(0) == 's' || answer.charAt(0) == 'H' || answer.charAt(0) == 'h' || answer.charAt(0) == 'e' || answer.charAt(0) == 'E') {

                    if(answer.charAt(0) == 'S' || answer.charAt(0) == 's'){
                        System.out.println("\nWhat is your name?");
                        String name;
                        name = kb.readString();

                        System.out.println("\nPress y to start");
                        String start;
                        start = kb.readString();

                        if(answer.charAt(0) == 'y' || answer.charAt(0) == 'Y') {

                        }

                        else{break;
                        }
                    }

                    if(answer.charAt(0) == 'H' || answer.charAt(0) == 'h'){

                                    System.out.println("\nIn this game, you have to avoid the B's by moving your character P. \nThe longer you last, the more points you get. \n\nTo move your character:\nUse the G key to go left\nUse the H key to go right\nUse the J key to go up\nUse the K key to go down");
                                    System.out.println("\nWhat is your command?");
                            }

                    if(answer.charAt(0) == 'E' || answer.charAt(0) == 'e'){
                    System.exit(0);
                    }
                }
                else{System.out.println("\nInvalid Command!");
                System.out.println("\nWhat is your command?");
                }
            }
        }
    }
}

別のクラスから実行しようとすると、.class の予期されるエラーが発生します。メニュー クラスはコンパイルされ、正常に実行されます。

4

2 に答える 2

1

string[]の有効なインスタンスを渡す必要がありますString[]

于 2012-12-06T20:07:30.560 に答える
0

を実行している場合rungame、 main メソッドがないため、どのように実行されているのか疑問です。Runnablerun メソッドはありますが、クラスはインターフェイスを実装しておらず、Threadクラスを拡張していません。

string[]また、他の人が述べたように曖昧です。

また、両方のクラスが同じファイルにある場合、1publicつのファイルに存在できるクラスは 1 つだけです。publicクラスに識別子を付ける場合は、別のファイルを用意する必要があります。

上記のことを確認すると、正常に動作するはずです。

于 2012-12-06T20:17:53.473 に答える