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

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

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

☆丸投げ歓迎 AGE進行☆
0657デフォルトの名無しさんNGNG
>>656

はぐ、はぐはぐはぐ
はぐはぐ?はぐはぐはぐ

はぐはぐはぐ・・・はぐw
0658デフォルトの名無しさんNGNG
>>657
CM見てないやつはわかんねーよ
おれは、笑ったけどな

カゴメ、野菜乳酸菌飲料「Hug Hug(はぐはぐ)」発売
カゴメ(社長:喜岡浩二)は、野菜乳酸菌飲料『Hug Hug(はぐはぐ)』を、4月22日(火)より東北、関東・東海・北陸地区にて新発売いたします

0659デフォルトの名無しさんNGNG
>>656
文面からするとCの理解も間違ってるような..

JAVAでもできるけどソース無いと間違いを指摘できないよ。
0660デフォルトの名無しさんNGNG
引数の値をバイナリでファイルに書き込みには書いたらいいですか?
0661デフォルトの名無しさんNGNG
class node {
public node left;
public node right;
}
0662デフォルトの名無しさんNGNG
>>660
書いたらいいです
0663デフォルトの名無しさんNGNG
public node left;
public node right

の意味がわかりません
0664デフォルトの名無しさんNGNG
node parentNode = new node();
parentNode.left = new node();
parentNode.right = new node();
parentNode.left = null;
0665デフォルトの名無しさんNGNG
parentNodeのくらすがファイルに書き込む処理をしているの?
0666デフォルトの名無しさんNGNG
痴呆か?
0667デフォルトの名無しさんNGNG
すんません、本当に学校の宿題のことなんですが
String [] str1 = new String[]{ "001", "005", "006" };
String [] str2 = new String[]{ "001", "002", "003", "004", "005", "006", "007", "008" };

というような配列が2つありましてこれをstr1とstr2で比較して

OK:str2[0]
NG:str2[1]
NG:str2[2]
   .
  .
NG:str2[7]
というような表示プログラムを作るというのですが
表示の内容(str2のみ)がだぶらないようにということで作っているのですが
うまくいきません・・・
どのように書けば簡潔になりますでしょうか、お願いします
0668デフォルトの名無しさんNGNG
>>667
(1) 結果の途中を省略するな。
(2) 問題をそのまま書け。
0669デフォルトの名無しさんNGNG
>>668
大変失敬いたしました,長くなってしまいますが
(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デフォルトの名無しさんNGNG
>>669
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 + "]");
}
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+"]"));

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