Java
1public static void main(String[] args) { 2 List<Integer> list = new ArrayList<Integer>(); 3 while (true) { 4 Random rnd = new Random(); 5 int v = rnd.nextInt(10); 6 System.out.println("0から10の値を出力:" + v); 7 System.out.println(" "); 8 System.out.println("出力された数" + v); 9 System.out.println(" "); 10 for (int i = 0; i < list.size(); i++) { 11 if (v == 0) { 12 break; 13 } 14 list.add(v); 15 16 } 17 18 } 19 } 20} 21
上記のように書きましたら、無限ループになってしまい期待値と全く違うものになってしまいます。
0~10の値を出力:5
出力された数:5
0~10の値を出力:9
出力された数:5 9 ← 9は5より大きいので、5の後に挿入する。
0~10の値を出力:1
出力された数:1 5 9 ← 1は5より大きいので、5の前に挿入する。
0~10の値を出力:3
出力された数:1 3 5 9 ← 3は1と5の間なので、1と5の間に挿入する。
0~10の値を出力:9
出力された数:1 3 5 9 9 ← すでに入力された数値も、重複してて登録する。
0~10の値を出力:0 ← 0が出たら、出力を終える
上記はあくまで例なのですが、このように表示したいです。
ご教示願います。
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/09/22 17:50