###前提・実現したいこと
以下の条件を持つプログラムを作成しようとしています。
1.『end』が入力されるまで入力値を受け付ける
2.『end』が入力された後、入力値をバブルソートで並び変えて表示する
条件として、
・バブルソートはfor文で作ること が決められています。
###発生している問題・エラーメッセージ
入力値を受け付け、繰り返しされ、endが入力されれば終了するところまではできました。
しかし、ソートされる文字に『end』が含まれてしまいます。
あと、一番肝心なバブルソートの作り方がうまくできません。
ArrayList<String> Array = new ArrayList<String>(); // ** 入力値の受付 * / BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); System.out.println("文字を入力してください"); try { String InputString = br.readLine(); Array.add(InputString); while (!InputString.equals("end")) { System.out.println("文字を入力してください"); InputString = br.readLine(); Array.add(InputString); System.out.println(Array); } // ** 入力値の長さから-1して、値同士の長さを比べる * / for (int i = 0; i < Array.size()-1; i++) { for (int j = 0; j < Array.size()-i; j++) { } } System.out.println(Array); } catch (IOException e) { System.out.println("入力値が無効です"); } catch (InputMismatchException e) { System.out.println("入力値が無効です"); } }
###試したこと 全て文字列として処理するので、比較対象は文字列だろうな、と考えました。 このサイト『http://tokihano.com/?eid=26』で行われていたことを参考にしてみました。 このサイト内で行われている『数字を配列に入れる』ことをしてみようと思いましたが、 ArrayListのsizeは配列にはできないようです。 この後の処理をどうすればいいか想像できません。 どうか助けてください。 よろしくお願い致します。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。