Tips

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

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

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

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

問題

以下の6つの文字列を格納したArrayList、wordListを作成
“for”, ”Class”, ”i”, ”num”, ”public”, ”a”

これらを有効な文字列と無効な文字列にそれぞれArrayListで分けるプログラム。
無効な文字列は以下のものとし、ArrayListで作成。
“class”, ”for”, ”if”, ”public”, ”static”, ”while”

つまり、有効はClass,i,num,a、無効はfor,publicとなる。

解答例1
import java.util.ArrayList;

public class Excercise_049 {
	public static void main(String[] args) {
		ArrayList<String> identifierList = new ArrayList<>();
		identifierList.add("for");
		identifierList.add("Class");
		identifierList.add("i");
		identifierList.add("num");
		identifierList.add("public");
		identifierList.add("a");


		ArrayList<String> excludeList = new ArrayList<>();
		excludeList.add("class");
		excludeList.add("for");
		excludeList.add("if");
		excludeList.add("public");
		excludeList.add("static");
		excludeList.add("while");

		ArrayList<String> valid = new ArrayList<>();
		ArrayList<String> invalid = new ArrayList<>();

		for(String word : identifierList) {
			boolean isValid = true;
			for(String ex : excludeList) {
				if(word.equals(ex)) {
					invalid.add(word);
					isValid = false;
					break;
				}
			}
			if(isValid) {
				valid.add(word);
			}
		}

		System.out.println("有効 : " + valid);
		System.out.println("無効 : " + invalid);
	}
}

間違い例1

import java.util.ArrayList;

public class Excercise_049 {
	public static void main(String[] args) {
		ArrayList<String> identifierList = new ArrayList<>();
		identifierList.add("for");
		identifierList.add("Class");
		identifierList.add("i");
		identifierList.add("num");
		identifierList.add("public");
		identifierList.add("a");


		ArrayList<String> excludeList = new ArrayList<>();
		excludeList.add("class");
		excludeList.add("for");
		excludeList.add("if");
		excludeList.add("public");
		excludeList.add("static");
		excludeList.add("while");

		ArrayList<String> valid = new ArrayList<>();
		ArrayList<String> invalid = new ArrayList<>();

		for(String word : identifierList) {
			for(String ex : excludeList) {
				if(word.equals(ex)) {
					invalid.add(word);
				} else {
					valid.add(word);
				}
			}
		}

		System.out.println("有効 : " + valid);
		System.out.println("無効 : " + invalid);
	}
}

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

はじめてのJAVA 連載

Recent News

Recent Tips

Tag Search