Tips

【Java】プログラム作成練習問題42

【Java】プログラム作成練習問題42

プログラム作成練習問題42回となります。

※この出題形式に関しては答えは1つではありません。
解答例はできるだけ複数載せるつもりですが、問題文の要件を満たしていれば正解として下さい。

問題

double型の値を格納したArrayListを定義し任意の値を格納。
格納した要素を整数にし、Integer型のArrayListに格納せよ。
例) 1.1, 2.2, 3.3 → 1, 2, 3

解答例1
import java.util.ArrayList;

public class Excercise_042 {
	public static void main(String[] args) {
		ArrayList<Double> doubleValues = new ArrayList<>();
		doubleValues.add(1.1);
		doubleValues.add(2.2);
		doubleValues.add(3.3);

		ArrayList<Integer> intVaules = new ArrayList<>();

		for (double val : doubleValues) {
			intVaules.add((int) val);
		}

		for (int val : intVaules) {
			System.out.println(val);
		}
	}
}

間違い例

import java.util.ArrayList;

public class Excercise_042 {
	public static void main(String[] args) {
		ArrayList<Double> doubleValues = new ArrayList<>();
		doubleValues.add(1.1);
		doubleValues.add(2.2);
		doubleValues.add(3.3);

		ArrayList<Integer> intVaules = (ArrayList<Integer>)doubleValues;

		for(int val : intVaules) {
			System.out.println(val);
		}
	}
}

ArrayListをArrayListにキャストすることはできません。
オブジェクト参照型の型変換ができるのは継承関係実現関係の場合のみです。


新連載はじまりました!新Java基礎 連載リンク

はじめてのJAVA 連載

Recent News

Recent Tips

Tag Search