【Java編】 学校の宿題は俺にやらせろ 【Java編】
■ このスレッドは過去ログ倉庫に格納されています
0001糞すれクリエータ
NGNGただGUIかんけーはめんどクセーから、放置するぞ!
☆丸投げ歓迎 AGE進行☆
0669デフォルトの名無しさん
NGNG大変失敬いたしました,長くなってしまいますが
(1)
OK:str2[0];
NG:str2[1];
NG:str2[2];
NG:str2[3];
OK:str2[4];
OK:str2[5];
NG:str2[6];
NG:str2[7];
です
(2)の問題ですが
下記(さっきの配列ね)の配列をstr1とstr2を比較して
同じ要素のものにはOKを、残りのものにはNGを付けて表示しなさい
その際にstr2の内容は全て表示しなさい
っていう担当御手製のプリントの一文です
0670デフォルトの名無しさん
NGNGfor (int i = 0; i < str2.length; ++i) {
String result = "NG";
for (int j = 0; j < str1.length; ++j) {
if (str1[j].equals(str2[i]) {
result = "OK";
break;
}
}
System.out.println(result + ":str2[" + i + "]");
}
0671デフォルトの名無しさん
NGNGfor (int i = 0; i < str2.length; ++i) {
String result = "NG";
for (int j = 0; j < str1.length; ++j) {
if (str1[j].equals(str2[i])) {
result = "OK";
break;
}
}
System.out.println(result + ":str2[" + i + "]");
}
0672デフォルトの名無しさん
NGNGの御仁ありがとうございます!
うまくいきました
自分がへたれなのでfor文で回すときにi++ や j++
などの後付けでしか物考えれないからだめなんですね・・・
参考になりました。
0673デフォルトの名無しさん
NGNGまあがんがれ
0674デフォルトの名無しさん
NGNGList list = Arrays.asList(str1);
for(int i=0;i<str2.length;i++)
System.out.println((list.contains(str2[i])?"OK":"NG")+":str2["+i+"]"));
4行ですね。
0675デフォルトの名無しさん
NGNGなるほど。 一歩進んで効率を考えるなら、
import java.util.*;
HashSet set = new HashSet(Arrays.asList(str1));
for(int i=0;i<str2.length;i++)
System.out.println((set.contains(str2[i])?"OK":"NG")+":str2["+i+"]"));
あるいは、
import java.util.*;
Arrays.sort(str1);
for(int i=0;i<str2.length;i++)
System.out.println((Arrays.binarySearch(str1,str2[i])>=0?"OK":"NG")+":str2["+i+"]"));
はどうよ。
■ このスレッドは過去ログ倉庫に格納されています