質問: 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は配列にはできないようです。 この後の処理をどうすればいいか想像できません。 どうか助けてください。 よろしくお願い致します。
回答: そのような条件を持つプログラムです import java.util.*; import java.io.*; class Q{ public static void main(String[] args){ ArrayList Array = new ArrayList(); // ** 入力値の受付 * / try( BufferedReader br = new BufferedReader(new InputStreamReader(System.in));){ System.out.println("文字を入力してください"); String InputString = br.readLine(); Array.add(InputString); while (!InputString.equals("end")) { System.out.println("文字を入力してください"); InputString = br.readLine(); if(InputString.equals("end")){}else{ Array.add(InputString); System.out.println(Array); } } System.out.println(); // ** 入力値の長さから-1して、値同士の長さを比べる * / for (int i = 0; i < Array.size()-1; i++) { for (int j = 0; j < Array.size()-i-1; j++) { String A2=""; byte[] b1=Array.get(j).getBytes("Shift_JIS"); byte[] b2=Array.get(j+1).getBytes("Shift_JIS"); int c1=0; int c2=0; for(int q=0;q c2){ A2=Array.get(j); Array.set(j,Array.get(j+1)); Array.set(j+1,A2); } } } for(String s: Array){ System.out.println(s); } } catch (IOException e) { System.out.println("入力値が無効です"); } catch (InputMismatchException e) { System.out.println("入力値が無効です"); } } }