応用問題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
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
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 : なし
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
文字列を入力: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
文字列を入力: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
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
出力された数: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