-1

私は割り当てを行っており、いくつかの単純な文字列操作を行う必要があります。最後の 1 つを把握したと思いますが、それ自体は機能しますが、他の文字列操作と組み合わせると機能せず、arrayoutofbounds 例外エラーが発生します。何かアドバイス?ここに私が作った小さなコードがあります

  public static void main (Strings[] args) {
    Scanner sc = new Scanner(System.in);
    String theSentence = sc.nextLine();
    String [] theWords = theSentence.split(" ");
    Arrays.sort(theWords);
    System.out.println(theWords[1]);
    System.out.println(Arrays.toString(theWords));
}

これは単独では機能しますが、残りのコードと組み合わせると機能しません。参考までに、このコードは小さな文を取り込んで、辞書順で最小の単語を提供することになっています。例: 入力:"4 WHAT WAIT IS THIS"出力は"IS"

4

2 に答える 2

7

theWordsコードは、常に少なくとも 2 つの要素が含まれていることを前提としています。ユーザーによって提供された文にスペースが含まれていない場合、theWordsは位置 1 に要素を取得しないため、プログラムは次の場所でクラッシュします。System.out.println(theWords[1]);

于 2013-09-03T19:24:56.067 に答える