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
[java] 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);
}
}
[/java]


間違い例1

[java] 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基礎 連載リンク

はじめてのJAVA 連載

Recent News

Recent Tips

Tag Search