0

私はJavaプログラミング言語が初めてで、スキャナークラスを使用して3つの単語を読み取り、メインメソッドでこれを行う3つの単語を辞書式に並べ替えるプログラムを作成したいと考えています。たとえば、ユーザーがTom Harry Dickと入力すると、答えはDick HarryとTomになるはずです.. if ステートメントを使用して、java compareTo() を使用して文字列を比較しようとしましたが、メイン メソッドが void であるため、if ステートメントは何も返しません。

public class SortWords {

public static void main(String[] args) {
    Scanner userInput = new Scanner(System.in);

    String firstWord;
    String secondWord;
    String thirdWord;


    System.out.println("Enter three words seperated by white space");

    firstWord = userInput.next();
    System.out.println(firstWord);

    secondWord = userInput.next();
    System.out.println(secondWord);

    thirdWord = userInput.next();
    System.out.println(thirdWord);

}

}

4

2 に答える 2

3

次に、配列要素として読み取ってから、その配列を並べ替えます

public static void main (String[] args)
{
    Scanner input = new Scanner(System.in);
    String[] strings = new String[3];

    for (int i = 0; i < strings .length; i++)
    {
        System.out.println("Please enter name");
        strings [i] = input.next();
    }
}

Arrays.sort(strings);
于 2013-06-03T04:10:41.253 に答える
1

「if ステートメントを使用して、java compareTo() を使用して文字列を比較しようとしましたが、メイン メソッドが void であるため、if ステートメントは何も返しません。」

これは正しくありません。

最初に、if ステートメントが「何かを返す」とは言いません。条件 ( で囲まれた) が true または false に評価{ }されるかどうかに基づいて、ステートメント ブロック ( で囲まれたブロック) を実行するかどうかを選択すると言います。(とが投入され( )た場合も同様の考え方)elseelse if

第 2 に、return とは何の関係もないため、これはメソッドの戻り値の型の影響を受けません。

3 つの文字列の比較結果を出力するには、print ステートメントと println ステートメントを使用する必要がありますmain

于 2013-06-03T04:14:23.337 に答える