0

スキャナーを使用してユーザーの名前を読み取り、名前の値を文字列に代入し、その後 getName メソッドを呼び出して名前の引数を与えて、私の名前を出力したい場合は ....、コードがクラッシュして機能しません 問題を突き止めようとしましたが、できませんでした

 public void getName(String name)
   {
       String s = "your name is: "+name   ;
   }
    public void userInput()
    {
        print();
        Scanner s = new Scanner(System.in);
        String read = s.nextLine();
        String op = read;
        while(!read.equals("Exit"))
        {  
            switch (op){
                case "a" :
                System.out.println("type your name:");
                read = s.nextLine();
                getName(read);
                print();
                read = s.nextLine();
                op = read;
                break;
                case"b" :
                System.out.println("by");
                print();
                read = s.nextLine();
                op = read;
                break;
            }

        }
    }

    public void print()
    {
        System.out.println("press a");
        System.out.println("press b");
    }
4

2 に答える 2

1

while 条件を false にするdefaultには、スイッチにステートメントを追加します。

    while (!read.equals("Exit")) {
        switch (op) {
        case "a":
            System.out.println("type your name:");
            read = s.nextLine();
            getName(read);
            print();
            read = s.nextLine();
            op = read;
            break;
        case "b":
            System.out.println("by");
            print();
            read = s.nextLine();
            op = read;
            break;
        default: // Add this to finish loop when you type "Exit"
            read = s.nextLine();
        }

    }

編集

メソッド getName(read) への呼び出しは役に立ちません。次のいずれかを試してください。

1.文字列を返して、後で使用するためにgetName()保存することができます。userInput()ところで、getSomething() メソッドは通常、何かを返すために使用されます。

public static String getName(String name) {
    String s = "Your name is: " + name;
    return s;
}

そして、これはuserInput()方法で:

String name = getName(read);

2.void getName(String name)または、メソッドに何かを出力します。

System.out.println("Your name is: " + name);

メソッドgetName(read)を呼び出します。userInput()

getName(read);
于 2013-10-25T20:53:36.747 に答える
0

あなたのコードは、 では何も役に立ちませんgetName。私の推測では、次のように名前を印刷したいと考えています。

public void getName(String name) // should rename this method 'printName'
{
    System.out.println("your name is: "+name);
}
于 2013-10-25T20:49:03.200 に答える