トップページ⇒tech
675コメント266KB

【Java編】 学校の宿題は俺にやらせろ 【Java編】

■ このスレッドは過去ログ倉庫に格納されています
0001糞すれクリエータNGNG
おい!厨房どもJavaの宿題はここに持って来い!
ただGUIかんけーはめんどクセーから、放置するぞ!

☆丸投げ歓迎 AGE進行☆
0671デフォルトの名無しさんNGNG
右括弧がひとつ足りなかったのでもう一度。
for (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
>>670
の御仁ありがとうございます!
うまくいきました

自分がへたれなのでfor文で回すときにi++ や j++
などの後付けでしか物考えれないからだめなんですね・・・
参考になりました。
0673デフォルトの名無しさんNGNG
この場合そんなの関係ないという事がわからんあたり、たしかにへたれだなw
まあがんがれ
0674デフォルトの名無しさんNGNG
import java.util.*;
List 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
>674
なるほど。 一歩進んで効率を考えるなら、

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+"]"));

はどうよ。
■ このスレッドは過去ログ倉庫に格納されています