応用練習問題⑤:コレクション①

ArrayListの使い方を練習します。

応用問題5:コレクション①

参考:応用5日目

問題 5-1

0〜10の乱数を生成して表示し続け、0が出たら終了するプログラムを作成しなさい。0が出るまでに生成した数のうち、奇数偶数をそれぞれ別のArrayListに格納し、最後にまとめて表示しなさい。

実行結果例
0~10の値を出力:1
0~10の値を出力:9
0~10の値を出力:8
0~10の値を出力:2
0~10の値を出力:4
0~10の値を出力:3
0~10の値を出力:7
0~10の値を出力:0

偶数 : 8 2 4
奇数 : 1 9 3 7
問題 5-2

0〜10の乱数を生成して表示し続け、0が出たら終了するプログラムを作成しなさい。0が出るまでに生成した数を全てArrayListに格納し、最後に逆順で表示しなさい。

実行結果例
0~10の値を出力:2
0~10の値を出力:9
0~10の値を出力:1
0~10の値を出力:7
0~10の値を出力:4
0~10の値を出力:3
0~10の値を出力:1
0~10の値を出力:0

1 3 4 7 1 9 2
問題 5-3 ★★

0〜100の乱数を生成して表示し続け、0が出たら終了するプログラムを作成しなさい。生成した数を一の位(0〜9)ごとにグループ分けし、それぞれのグループを表示しなさい。

実行結果例
0~100の値を出力:50
0~100の値を出力:43
0~100の値を出力:2
0~100の値を出力:12
0~100の値を出力:34
0~100の値を出力:24
0~100の値を出力:8
0~100の値を出力:0

一の位が0 : 50
一の位が1 : なし
一の位が2 : 2
一の位が3 : 43
一の位が4 : 24 34
一の位が5 : なし
一の位が6 : なし
一の位が7 : なし
一の位が8 : 8
一の位が9 : なし
問題 5-4 ★★

以下のプログラムを参考に、コンソールから文字列を入力し続け、何も入力せずEnterを押すと、入力した全文字列を表示するプログラムを作成しなさい。文字列はArrayListに格納すること。

Java
package problemex5;

import java.io.*;

public class Problemex5_4 {
    public static void main(String[] args) throws IOException{
        InputStreamReader isr = new InputStreamReader(System.in);
        BufferedReader br = new BufferedReader(isr);
        String buf = br.readLine();
        System.out.println(buf);
    }
}
実行結果例
文字列を入力:apple
文字列を入力:good
文字列を入力:pineapple
文字列を入力:big
文字列を入力:dog
文字列を入力:cowboy
文字列を入力:

apple good pineapple big dog cowboy
問題 5-5 ★★

問題5-4を参考に、コンソールから文字列を入力させ続け、何も入力せずEnterを押すと、5文字未満の単語を表示するプログラムを作成しなさい。全入力をArrayListに格納後、5文字以上を削除してから表示すること。

実行結果例
文字列を入力:apple
文字列を入力:good
文字列を入力:pineapple
文字列を入力:big
文字列を入力:dog
文字列を入力:cowboy
文字列を入力:sparrow
文字列を入力:downtown
文字列を入力:girl
文字列を入力:

5文字未満の単語:good big dog girl
問題 5-6

0〜10の乱数を生成して表示し続け、0が出たら終了するプログラムを作成しなさい。生成した数のうち2が含まれる値をArrayListからremove()で削除し、残った値を表示しなさい。

実行結果例
0~10の値を出力:2
0~10の値を出力:9
0~10の値を出力:6
0~10の値を出力:3
0~10の値を出力:2
0~10の値を出力:5
0~10の値を出力:2
0~10の値を出力:0

9 6 3 5
問題 5-7 ★★

0〜10の乱数を生成し続け、0が出たら終了するプログラムを作成しなさい。生成した数を昇順(小さい順)を保つようにArrayListに挿入しながら、最終結果を表示しなさい。

実行結果例
0~10の値を出力:5

出力された数:5

0~10の値を出力:9

出力された数:5 9

0~10の値を出力:1

出力された数:1 5 9

0~10の値を出力:3

出力された数:1 3 5 9

0~10の値を出力:9

出力された数:1 3 5 9 9

0~10の値を出力:0