私は、ユーザにn
単語を各行に1つずつ入力させ、出力を辞書順ソート語として与えるようにプログラムを作成しようとしています。ユーザー入力の字句順のJavaコードを編集します。単語の
最初の行に単語の数を入力し、各行に単語の数を入力するようにユーザーに求めます。私はこのプログラムのために多次元配列を使うことになっています。
ユーザーの入力としてn
個の単語を入力できない代わりに、n - 1
個の単語しか使用できないという点を除いて、コードは正常に機能します。
public static void main (String[] args) throws Exception
{
Scanner input = new Scanner(System.in);
int n = input.nextInt();
String arr[] = new String[n];
for (int i = 0; i < n; i++) {
arr[i] = input.nextLine();
}
for (int i = 0; i < n - 1; i++) {
for (int j = i + 1; j < n; j++) {
if (arr[i].compareTo(arr[j])>0) {
String temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
for (int i = 0; i < n; i++)
System.out.println(arr[i]);
}
あなたが戻ってくるエラーとそれを修正しようとしたものを投稿してください。 Cheers – Alos
'nextLine()'は、ユーザ入力を返した後自動的に下に移動します。 –
@Niraj私のプログラムでエラーの原因となった 'nextLine()'を指摘してくれてありがとう。これを 'next()'に置き換えることで問題は解決しました。私は、ユーザ入力として所望の「n」個の単語を入力することができました。 –