[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 04/25 21:11 / Filesize : 316 KB / Number-of Response : 926
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

★★ Java の宿題ここで答えます Part 68 ★★



1 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 23:15:02 ]
【質問者へ】
回答者の便宜のため、以下の注意事項を遵守してください。
・質問は【課題提示用テンプレ】を利用してください。
・問題文は、出題されたまま全文を書いてください。
・数学問題は「○×法でせよ」だけでなく、その数式、前提条件も説明してください。
・JavaScriptは板違い、Web制作板をご利用ください。
・エラーは、その詳細と発生した行を書きましょう。エラーメッセージはコピペしてください。
・後から問題に付け足しするのはやめましょう。付け足しは作業を無駄にしがちです。
・回答されたら動作報告を必ずしてください。
・課題文が長い時、添付ファイルがある時はこちらのアップローダーを使うと便利です。
ttp://rg550.hp.infoseek.co.jp/cgi-bin/joyful/main.htm

【課題提示用テンプレ】
【 課題 】与えられた課題文をそのまま書きます。 《必須》
【 形態 】1. Javaアプリケーション(main()で開始)/2. Applet/3. Servlet/
       4. 携帯(開発環境のver.必須)/5. その他(明記のこと) 《必ず選択》
【 GUI  】1. AWTのみ/2. Swing/3. SWT/4. 制限なし/ 5. その他(明記すること)
       《GUIの課題の場合必ず選択》
【 期限 】提出期限、解答希望日を書きます。「できるだけ早く」はNG。 《必須》
【 Ver  】コンソールでjava -versionを実行し、その結果を貼ります。 《必須》
【 用語 】数学用語、専門用語の意味、説明を書きます。 《あれば必須》
【 補足 】課題について自分なりに補足する事、何か思う事があれば書きます。
       丸投げでない場合は、途中までのソースとその経過報告、
       質問点、疑問点を書きます(なるべく丸投げにしてください)。

【回答プログラムの掲載場所】
Java質問スレWiki  ttp://www.wikiroom.com/java/
ソースポストネット  ttp://sourcepost.sytes.net/
ろだ2  ttp://rg550.hp.infoseek.co.jp/cgi-bin/joyful/main.htm

【前スレ】
pc12.2ch.net/test/read.cgi/tech/1232627790/

231 名前:デフォルトの名無しさん [2009/09/20(日) 16:20:59 ]
【 課題 】以下のようなサーバプログラムCountServer.javaとクライアントプログラム
CountClient.javaを作成してください。

      [条件]
      ・サーバは、クライアントから文字列を受信し、その文字数をカウントして
       結果をクライアントに返す。
      ・クライアントプログラムを実行時に、コマンドラインから、サーバホスト名
       java CountClient サーバホスト名 "文字列"
      ・クライアントは、サーバからの結果を受け取り、画面に表示する。
      ・サーバは、ポート番号 4321 で接続要求を受け付けるようにする。

サーバプログラムの実行
>java CountServer

クライアントプログラムの実行と実行結果
>java CountClient host1 "Java Programming"
16  

【 形態 】Javaアプリケーション(main()で開始) 
【 GUI  】制限なし
【 期限 】9月22日午後5時までお願いします。
【 Ver  】1.6.0_11
【 用語 】
【 補足 】丸投げです。お願いします。


232 名前:デフォルトの名無しさん mailto:sage [2009/09/20(日) 18:15:50 ]
>>231
rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/794.zip

233 名前:デフォルトの名無しさん [2009/09/20(日) 19:39:06 ]
>>232
CountServer.javaでは4行目で
「インポートされた java.io.DataOutputStream は 1 度も使用されていません」
とエラーが出て、
countClient.javaでは18行目で
「フィールド CountClient.inDataStream はローカルで読み取られません」
とエラーが出ました。


CountServer.javaの方は単純に4行目を削除すればよいのでしょうか?


234 名前:デフォルトの名無しさん mailto:sage [2009/09/20(日) 19:50:46 ]
>>233
それ、使ってないね。決して良いよ。
16:private DataInputStream inDataStream;
33:inDataStream = new DataInputStream(inStream);


235 名前:デフォルトの名無しさん mailto:sage [2009/09/20(日) 20:50:18 ]
決しちゃっていいのか

236 名前:デフォルトの名無しさん mailto:sage [2009/09/20(日) 20:58:00 ]
おう、キッチリと決しちゃってくれ。悔いが残らぬように。

237 名前:デフォルトの名無しさん mailto:sage [2009/09/20(日) 21:02:04 ]
エラーと警告の区別がついていないのはいいのか

238 名前:デフォルトの名無しさん mailto:sage [2009/09/20(日) 21:08:39 ]
学ぶ事を放棄して来たのだから良いんじゃないか。

239 名前:232 mailto:sage [2009/09/20(日) 23:06:20 ]
>>231
>>232のコードのリファクタ版。
今回はワーニングでないと思うが、なんかあったらレスくれ。
rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/795.zip



240 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 05:43:28 ]
嫌だ

241 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 09:34:50 ]
じゃあ好きにしろ

242 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 09:57:14 ]
(´・ω・`)やんのかお?

243 名前:232 mailto:sage [2009/09/21(月) 17:09:28 ]
>>231
暇なのでまたちょっとリファクタ

変更点:
最大文字数制限に対応
複数クライアント対応
スレッドプール変更
rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/796.zip

244 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 17:20:33 ]
もういいって・・・

245 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 13:40:20 ]
【 課題 】1.ユニークな9桁の数値100万個を記述した乱数ファイルを作成する
      ※数値はランダムに生成し作成された順に記述される
      ※9桁目はゼロであってはならない→×000000001 ○100000000
      ※ひとつの数値が1行に記述され改行で区切られる
      ※乱数ファイルがユニークに作成されている根拠をコメントに書け
      
      2.9桁の数値を入力し、その数値の乱数ファイル上の行番号と
      昇順でソートした際の順序番号で表示するアプリを作成する
      ※乱数ファイルは一度しかパースしてはならない
      ※ライブラリのデータ構造を使用してはならない(プリミティブタイプ、配列は可)
      ※ブルートフォースアルゴリズムを使用してはならない

      3.エクストラポイント
      ※検索手順をGUI上で可視化する(制限なし)

【 形態 】1. Javaアプリケーション(main()で開始)
【 GUI  】2. Swing
【 期限 】9月24日18:00まで
【 Ver  】1.6.0_15
【 用語 】
【 補足 】丸投げです。宜しくお願いします。




246 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 01:18:41 ]
>>245
>※ブルートフォースアルゴリズムを使用してはならない
制約の意味がわからない

247 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 01:21:44 ]
>>246
総当たりの事です。要はO(n)のアルゴリズムではダメ。

248 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 01:49:50 ]
>>247
未ソートのデータから検索なんて、他に方法はないのでは?

249 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 09:04:13 ]
>>248
ありませんよ



250 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 11:47:56 ]
ソートが出来ない訳ではありませんが、パース出来るのは一度だけです。

251 名前:245 mailto:sage [2009/09/23(水) 14:30:49 ]
誰か分かる方いらっしゃらないでしょうか。

252 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 23:25:48 ]
>>251
いや、未ソートのデータの検索に総当り以外のアルゴリズムなんて無いだろ。

253 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 23:53:31 ]
>>252
一度パースができるとあるので、そこでソートしながら自前のデータ構造にいれれば良いんじゃね。
で、出来上がったデータ構造上をO(log)位のアルゴリズムで検索すれば
ソートオーダの位置と未ソート時の位置を取得できるんじゃないのかな?俺には作れないけど。

254 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 01:18:09 ]
>>253
それでいいのならソート自体が目的ではないのでO(n)のメモリが必要なデータ構造を用意する必要はない。
ファイルをスキャンしながら検索対象以下の数値の個数をカウントして、
最後まで読み終わった時点で検索対象が現れていたら、
現れた行番号が「乱数ファイル上の行番号」であり、
検索対象以下の数値の個数が「昇順でソートした際の順序番号」になるので、
行番号と個数を覚えておくだけのO(1)のメモリで済むしファイルを読んだ後の探索もいらない。
でもこれって結局ファイル上ではあるもののO(n)の探索には変わりないんだよね。
ファイルを一通り読んでいいのに探索はO(n)では駄目とかの>>245の要求が矛盾しているというか。

255 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 02:10:30 ]
>>254
その場合2回目の検索はどうする?

256 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 02:24:21 ]
複数回問い合わせることを前提に、検索部分のコストだけということでは?
rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/798.java

257 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 02:42:28 ]
Arrays.sortとArrays.binarySearchで許してくれんのかな。

余計かもしれんがDataのamountがIntegerなのはcompareToしたいから?
intのまま減算して返せばよくね?

258 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 02:49:03 ]
>>257
>Arrays.sortとArrays.binarySearchで許してくれんのかな。

>※ライブラリのデータ構造を使用してはならない(プリミティブタイプ、配列は可)
って文言には反してないが、どうなんだろうね。
出題者の期待している解答ではないかも。

>余計かもしれんがDataのamountがIntegerなのはcompareToしたいから?
yes
intの差の方が良いね。

259 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 03:05:17 ]
>>256
【 GUI  】2. Swing




260 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 03:08:54 ]
>>259
>3.エクストラポイント
っていってるし。面白みも無い。
つか、そもそも、主旨が合っているのかどうかもあやうい。

261 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 03:13:51 ]
あとはArrays.binarySearchのステップを可視化できたら尚OKか。

えーと、最初にcompareTo呼ばれたDataは50万個目だよね。
staticに(binarySearchによる)compareToの呼び出しカウントを保持しておけば
次回配列インデックスへの差分量がわかるから、compareToの結果を元に追跡可能だな。
表示は極端にシンボル化されるから、仮に配列インデックスの計算誤差があっても無視できるしね。


262 名前:245 mailto:sage [2009/09/24(木) 03:50:03 ]
ご対応頂いてありがとうございます。

>>254
最初の読み込みで自前のデータ構造に取り込んでソートすることはOKです。
GUI上のテキストフィールドで入力した数値で複数回検索する必要がありますので、
読み込み時にO(n)であっても以降の検索処理がO(n)で無ければ良いそうです。

>>257>>258
Arraysは利用出来ません。ソートは自前のデータ構造に対して実装する必要があります。

>>259>>260
基本的にコマンドではなくGUIでアプリをつくる必要があります。
エクストラポイントについては検索時のツリー構造等の移動/変化を
GUI上に描画してグラフィカルに表示した場合にポイントとなります。

以上、宜しくお願いします。


263 名前:245 mailto:sage [2009/09/24(木) 03:51:10 ]
追記:
乱数ファイルを作成するクラスについてはGUIである必要はありません。

264 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 04:02:59 ]
>>262
>Arraysは利用出来ません。ソートは自前のデータ構造に対して実装する必要があります。
構造と言っても二分探索は配列で出来るし、実装は退屈だからパス

>基本的にコマンドではなくGUIでアプリをつくる必要があります。
面白味は無いのでパス

>エクストラポイントについては検索時のツリー構造等の移動/変化を
着目している対象くらいは変わるが、構造自体は検索中に変わったりしないのだが…

265 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 07:46:23 ]
rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/799.java
視覚化してみた

266 名前:デフォルトの名無しさん [2009/09/24(木) 07:59:09 ]


【 課題 】 作曲プログラムの作成について

JAVAで作曲ソフトを作成しなさい。
しかし普通の作曲ソフトではなく、もともと持っていた画像を取り込み、そこに5線譜を引き、点をとって音を再生するというようなものです。

【 形態 】1. Javaアプリケーション(main()で開始)
【 GUI  】2. Swing
【 期限 】9月24日18:00まで
【 Ver  】1.6.0_15
【 用語 】
【 補足 】わかりにくくてすいません。
nikitoki.blog.so-net.ne.jp/2007-11-17-4
↑の中でやっているようなことができる作曲ソフトを作りたいと考えています。

よろしくおねがいします

267 名前:デフォルトの名無しさん [2009/09/24(木) 08:03:21 ]
↑訂正です
期限は9月26日18時まででした。
すみません。

268 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 08:48:17 ]
何言ってんだか、さっぱりだし、宿題感がしねえ

269 名前:デフォルトの名無しさん [2009/09/24(木) 10:24:16 ]
【課題提示用テンプレ】
【 課題 】「プログラム言語Java」と「JRuby」の特徴比較について調べ、記述せよ
      RubyではなくJRubyである点に注意してください。特に、両者に差が
      あるポイントを明確に論じてください。
【 形態 】その他(記述)
【 期限 】明日まで^^;

JRubyの資料が全然なくて困ってます^^;
簡単でもいいのでだれかお願いします



270 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 10:38:59 ]
ゆとりか・・・

271 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 10:55:21 ]
そりゃ、現時点で学生だろうし、その中でも極限のバカしかここに依頼しないし

272 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 11:36:31 ]
>>269
抜け作の君に20代男性からの老婆心だ
とりあえず顔文字つけときゃいいってもんじゃないよ
頼みごとをしようって時にふざけてんの?
資料がないっつーのも苦しい言い訳
プログラムを書くわけでもないし、ちょちょっとまとめるくらい難しくはないでしょ
JavaとJRubyではどちらが早いか、どちらが普及しているか、便利な点、不便な点
そういうのを読み取って羅列する

273 名前:245 mailto:sage [2009/09/24(木) 12:18:46 ]
>>265
ありがとうございます。
自前のソート、検索処理の部分もお願い出来ないでしょうか。


274 名前:デフォルトの名無しさん mailto:sage [2009/09/25(金) 07:22:41 ]
>>267
土曜に締め切りって何だよ

275 名前:デフォルトの名無しさん mailto:sage [2009/09/25(金) 09:49:01 ]
>>266
パンをパンと認識するのは人間だからできることだ。
それをコンピュータにやらせるのがどんだけ大変か分かってるのか。
しかもそれを宿題スレで人にやってもらうってか。

もっと要件を限定せい。

276 名前:デフォルトの名無しさん mailto:sage [2009/09/25(金) 20:18:23 ]

【 課題 】rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/800.zip
【 形態 】1. Javaアプリケーション(main()で開始)
【 GUI  】制限なし
【 期限 】9/31
【 Ver  】1.6.0_13
【 用語 】特に無し
【 補足 】丸投げです。お手数をおかけしますが、宜しくお願いします。

277 名前:デフォルトの名無しさん mailto:sage [2009/09/25(金) 22:03:35 ]
public class Kadai01_5 {

public static void main(String[] args) {
double theta;
double f;

int divider = 18;

for(int i = 1; i <= divider; i++){
theta = Math.PI * i / divider;
f = Math.sin(theta) + Math.cos(theta);
System.out.printf("孤度 θ: %10.5f [ラジアン]\t\t関数F: %10.5f \n", theta, f);
}

}

}

278 名前:デフォルトの名無しさん [2009/09/26(土) 10:05:06 ]
ここは美術のアイデアも教えていただけますか?

279 名前:デフォルトの名無しさん mailto:sage [2009/09/26(土) 11:57:17 ]
>>277 180/18=10 なんだな



280 名前:デフォルトの名無しさん mailto:sage [2009/09/26(土) 17:02:45 ]
>>279
何か?

281 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 00:50:59 ]
forループの数が18回になってる

282 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 00:56:19 ]
ああ、Π/18ごとは10度ごとだから18回で良かったのか

283 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 01:00:16 ]
何が言いたいのかわからん?間違いを指摘してるのかな?

なんか課題ないのー?
もう寝るけどさ。

284 名前:276 mailto:sage [2009/09/29(火) 09:44:02 ]
すみません。>>277をコンパイルして実行してみたのですが実行例と数値が違うみたいです。


285 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 11:56:20 ]
>>284
i を0からはじめればいいよ。
for(int i = 0; i <= divider; i++){

286 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 23:36:42 ]
【 課題 】9×9の数独の解を求めるAppletを作成せよ。
9×9ののマスを用意し、問題を手で入力する。(マスの外枠と3×3の境目になる線は太くする。)
ja.wikipedia.org/wiki/%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB:Sudoku-by-L2G-20050714.svg この画像のようなデザイン
問題として与えられている数字をマスに入力し、「解を求める」ボタンを押すことで残りのマスに数字を埋めていく。
求めた数字の文字色を青色とする。
リセットボタンを用意し、白紙のマスに戻す機能を付けること。
【 形態 】2. Applet
【 GUI  】4. 制限なし
【 期限 】10月6日午前中
【 Ver  】java version "1.6.0_15"

よろしくお願いします。


287 名前:デフォルトの名無しさん mailto:sage [2009/10/02(金) 23:33:36 ]
【 課題 】以下のプログラムを元に標準偏差も計算できるように変更せよ。数値は実数を受け入れられるようにせよ。データはファイルで与え1.0 2,0 3,0 4,0 5,0 を試してみよ。
標準偏差は全体7カラム。小数点以下5桁で表せ。
【 形態 】1. Javaアプリケーション(main()で開始)
【 GUI  】4. 制限なし
【 期限 】10月6日
【 Ver  】java version "1.6.0_05"
【 用語 】標準偏差 = √1/n煤ix-a)^2 (aはxの平均)
【 補足 】


288 名前:デフォルトの名無しさん mailto:sage [2009/10/02(金) 23:40:15 ]
>>287の続き
rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/801.java

よろしくお願いします

289 名前:デフォルトの名無しさん mailto:sage [2009/10/03(土) 00:40:13 ]
>>287
import java.io.*;
class k3_1 {
public static void main(String[] args) {
try {
BufferedReader br = new BufferedReader(new FileReader("test2.txt"));
double[] test = new double[5];
for (int i = 0; i < test.length; i++) {
String str = br.readLine();
test[i] = Double.parseDouble(str);
}
double max = test[0], min = test[0], s1 = 0, s2 = 0;
for (int i = 0; i < test.length; i++) {
if (max < test[i]) max = test[i];
if (min > test[i]) min = test[i];
s1 += test[i] / test.length;
s2 += test[i] * test[i] / test.length;
System.out.println(test[i]);
}
System.out.println("最高点は" + max + "です");
System.out.println("最低点は" + min + "です");
System.out.printf("標準偏差は%7.5fです%n", Math.sqrt(s2 - s1 * s1));
br.close();
} catch (IOException e) {
System.out.println("入出力エラーです");
}
}
}



290 名前:デフォルトの名無しさん mailto:sage [2009/10/04(日) 23:04:40 ]
>>289
ありがとうございます。
>System.out.printf("標準偏差は%7.5fです%n", Math.sqrt(s2 - s1 * s1));
この部分のみ、エラー吐いたのですが自己解決できました。

291 名前:デフォルトの名無しさん mailto:sage [2009/10/04(日) 23:15:17 ]
>>290
どんなエラー?

292 名前:デフォルトの名無しさん mailto:sage [2009/10/05(月) 00:25:18 ]
>>291
k3_1.java:33: シンボルを見つけられません。
シンボル: メソッド println(java.lang.String,double)
場所 : java.io.PrintStream の クラス
System.out.println("標準偏差は%7.5fです",Math.sqrt(s2 -
s1 * s1));
^
エラー 1 個

293 名前:デフォルトの名無しさん mailto:sage [2009/10/05(月) 00:29:40 ]
【 課題 】テキストファイルをあらかじめ作っておいて、その内容を表示しながら
別のファイルにコピーするプログラムを書け。
コマンド例(file_a.txtからfile_b.txtへコピーする)
内容例
123456
234567
abcdefg
【 形態 】1. Javaアプリケーション(main()で開始)
【 GUI  】4. 制限なし
【 期限 】10月7日
【 Ver  】java version "1.6.0_05"
【 用語 】
【 補足 】
よろしくお願いします

294 名前:デフォルトの名無しさん mailto:sage [2009/10/05(月) 00:35:35 ]
>>292
>>289と違うじゃねーかw

295 名前:デフォルトの名無しさん mailto:sage [2009/10/05(月) 00:38:14 ]
>>292
> System.out.printf("標準偏差は%7.5fです%n", Math.sqrt(s2 - s1 * s1));
でエラーを吐いたわけじゃなかったのか

296 名前:デフォルトの名無しさん mailto:sage [2009/10/05(月) 00:52:03 ]
>>293
import java.io.*;
public class Copy {
public static void main(String[] args) throws IOException {
BufferedReader in = null;
BufferedWriter out = null;
try {
in = new BufferedReader(new FileReader(args[0]));
out = new BufferedWriter(new FileWriter(args[1]));
char[] buf = new char[10 * 1024];
int n;
while ((n = in.read(buf)) != -1) {
System.out.print(String.valueOf(buf, 0, n));
out.write(buf, 0, n);
}
} finally {
if (out != null) out.close();
if (in != null) in.close();
}
}
}
使い方 java Copy file_a.txt file_b.txt

297 名前:デフォルトの名無しさん [2009/10/05(月) 01:09:44 ]
>>293
import java.io.*;
public class TextFileCopy {
public static void main(String[] args) {
String inFile = "file_a.txt";
String outFile = "file_b.txt";
BufferedReader br = null;
BufferedWriter bw = null;
try {
br = new BufferedReader(new FileReader(inFile));
bw = new BufferedWriter(new FileWriter(outFile));
String tmpStr;
while ((tmpStr = br.readLine()) != null) {
bw.write(tmpStr);
bw.newLine();
System.out.println(tmpStr);
}
} catch (IOException e) {
System.out.println(e.getMessage());
} finally {
try {
if (br != null) {br.close();}
if (bw != null) {bw.close();}
} catch (IOException e) {}
}
}
}


298 名前:デフォルトの名無しさん mailto:sage [2009/10/05(月) 08:27:20 ]
>>297
その方法だとコピーとは言えないな
文字のコピーであって、ファイルのコピーじゃない

299 名前:デフォルトの名無しさん mailto:sage [2009/10/05(月) 18:15:54 ]
>>296-297
ありがとうございます。共に正常に動作確認できました。

>>296について厚かましいのですが、
>char[] buf = new char[10 * 1024];
この一文は何をしているのか教えていただけませんか?



300 名前:デフォルトの名無しさん mailto:sage [2009/10/05(月) 19:11:03 ]
10240要素の char 配列を作成してる。
なぜ char 配列が必要かは BufferedReader のドキュメント読め。

バッファサイズ(ここでは配列の要素数)に関してはどのくらいがいいかは一概に言えない。

301 名前:デフォルトの名無しさん mailto:sage [2009/10/05(月) 22:04:39 ]
>>298
297じゃないが、そこまでこだわるほどのものには思えないがな。

302 名前:デフォルトの名無しさん mailto:sage [2009/10/05(月) 22:15:09 ]
298ではないが、297はファイル名を引数で渡せない作りになってたり
解答としては微妙だからな。つい突っ込みたくなったんじゃないか?

303 名前:デフォルトの名無しさん mailto:sage [2009/10/06(火) 12:10:54 ]
>>299
ホントにあつかましいな。
自分で調べろ、カス。

304 名前:デフォルトの名無しさん mailto:sage [2009/10/06(火) 22:57:36 ]
【 課題 】与えられた行列データ A.txt (20×2) を読み込み前進消去し、txtファイルB.txtに出力せよ
【 形態 】1. Javaアプリケーション(main()で開始)
【 期限 】10月8日
【 Ver  】1.6.0_11
【 用語 】前進消去=行列の掃き出しです。これの前半部分です

ja.wikipedia.org/wiki/%E3%82%AC%E3%82%A6%E3%82%B9%E3%81%AE%E6%B6%88%E5%8E%BB%E6%B3%95

【 補足 】一応、作っては見たもののコンパイルエラーが起きてしまいました

rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/802.java

お願いします

305 名前:デフォルトの名無しさん mailto:sage [2009/10/06(火) 23:36:09 ]
>>304
IDE使ってないの?コードコピペしただけで、おかしいって文句言ってくるじゃん
>String shutsuryoku = "%13.10f";
>fileOutMatrix(outputfolder,matrix_out,shutsuryoku);
>static void fileOutMatrix(String outputfolder, String matrix_out, String shutsuryoku, double [][]a)

fileOutMatrix()がdoubleの二次元配列を要求しているのに、Stringを渡したら例外出るさ
内容?眠いから見てない

306 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 01:40:25 ]
>>304
4つの引数が必要なメソッドに3つの引数しか渡さずに呼び出している
第4引数に a を指定すればコンパイルは通るけどそれが正しい結果を返すコードかどうかは知らない
自分でA.txtを作って確かめてもしおかしようならA.txtやその正答もうpして再依頼すればいい

307 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 02:14:02 ]
>>305-306
ありがとうございます

第4引数にaを指定し、A1.txtを
1,2
2,1
に設定して実行してみたところ
1,2
2,-3
と出力されましたが
正答は
1,2
0,-3
なので、ピボットに選んだ下の列が0になっていないようです

1,2,1
2,1,1
1,1,1
で試したところ、やはり同様に
1,2,1
2,-3,-1
1,-1,1/3

正答は
1,2,1
0,-3,-1
0,0,1/3
となって、行列の下三角?の部分が与えた行列と変化してないようです

間違っている箇所を直していただけたら助かりますorz
お願いします

308 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 02:29:05 ]
>>307
人の話は聞け。

309 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 02:34:09 ]
for(int k=0; k<a[0].length; k++) {
for(int i=k+1; i<a[0].length; i++) {
n = a[i][k] / a[k][k];
a[i][k] = 0;
for(int j=k+1; j<a[0].length; j++) {
a[i][j] -= n * a[k][j];
}
}
}
前進消去部分のみ
a[i][k]をピボットで割ったあとそれ自身には0を代入する



310 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 02:53:17 ]
勘違いしないために念のために付け加えておく
0を代入するのは無理に0にするためではなく計算しなくても自分自身を引いて0になることがわかっているから
ためしにつぎのように0を代入することをやめてj=kから計算を始めるようにしても結果は同じになる
for(int k=0; k<a[0].length; k++) {
for(int i=k+1; i<a[0].length; i++) {
n = a[i][k] / a[k][k];
for(int j=k; j<a[0].length; j++) {
a[i][j] -= n * a[k][j];
}
}
}

311 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 15:28:57 ]
>>308
聞いたつもりだったのですが・・・すみません

>>309-310
詳しくありがとうございます
よく分かりました

312 名前:デフォルトの名無しさん [2009/10/09(金) 00:16:13 ]
【 課題 】www.dotup.org/uploda/www.dotup.org236876.txt.html
【 形態 】Applet
【 GUI  】制限なし
【 期限 】10/10
【 Ver  】1.6.0-11

お願いします

313 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 01:33:21 ]
>>312
真面目にやる気がなくなるほどのif-elseの羅列だw
init()メソッドの一番末尾に追加
((Button)add(new Button("reverse"))).addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
StringBuilder buf = new StringBuilder();
for (ListIterator i = v.listIterator(v.size()); i.hasPrevious(); ) buf.append(i.previous()).append(" ");
showStatus(buf.toString());
}
});
もし元ソースのフォーマットに合わせたいならreverse用のボタンreverseBtnをインスタンス変数として定義して
displayBtnの場合を参考にしてinit()メソッドとactionPerformed()メソッドにこの処理を分ける
元のソースから出てる警告は質問者が自分で修正してくれ

314 名前:デフォルトの名無しさん [2009/10/11(日) 22:12:01 ]
【 課題 】2進数で000000001から111111111まで作成する。
【 形態 】Javaアプリケーション(main()で開始)/
【 GUI  】制限なし
【 期限 】10/15
【 Ver  】わからん


315 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 22:32:19 ]
>>314
作成するってどういう意味?
000000001
000000010
000000011
000000100
...
111111111
という感じで文字列を表示すればいいの?
問題文はできれば自分で解釈したりせずに原文をそのまま出してほしい

316 名前:314 [2009/10/11(日) 23:37:51 ]
問題文:2進数で1から255までの数字を表現しなさい。

ので315のように表示できるようにして欲しいです。

317 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 23:39:17 ]
>>314
public class Bin {
public static void main(String[] args) {
final int START = Integer.parseInt("000000001", 2);
final int END = Integer.parseInt("111111111", 2);
StringBuffer sb = new StringBuffer("000000000");
for (int i = START; i <= END; i++) {
sb.append(Integer.toBinaryString(i));
System.out.println(sb.substring(sb.length() - 9));
sb.setLength(9);
}
}
}

318 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 23:44:07 ]
念為2進数を扱うメソッドそのものを実装することが目的の場合用
public class Bin2 {
public static void main(String[] args) {
final int START = parseInt("000000001");
final int END = parseInt("111111111");
for (int i = START; i <= END; i++) showBinaryString(i);
}
private static int parseInt(String s) {
int result = 0, len = s.length();
for (int i = 0; i < len; i++) result += result + s.charAt(i) - '0';
return result;
}
private static char[] buf = new char[9];
private static void showBinaryString(int i) {
int j = 9;
do {
buf[--j] = (char)('0' + (i & 1));
} while ((i>>>= 1) != 0);
while (j-- > 0) buf[j] = '0';
System.out.println(buf);
}
}

319 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 23:56:09 ]
問題文は1から255じゃないかw
>>314が9ビットだったから>>317-318は511まで表示するようにしてる
適当に直してくれ
それに問題では1とか255というように与えられているからparseIntせずに直接START=1,END=255でいいね



320 名前:デフォルトの名無しさん mailto:sage [2009/10/12(月) 02:11:18 ]
これ、読んだひと居ますか?
page19.auctions.yahoo.co.jp/jp/auction/x75377655
page18.auctions.yahoo.co.jp/jp/auction/w43923215

321 名前:デフォルトの名無しさん mailto:sage [2009/10/12(月) 03:21:06 ]
>>314
やっぱり255までなのが気になったのでついでに記述をシンプルに
もし9桁必要ならj = 128をj = 256に変更
public static void main(String[] args) {
for (int i = 1; i <= 255; i++) {
for (int j = 128; j > 0; j >>= 1) System.out.print((i & j) == 0 ? '0' : '1');
System.out.println();
}
}
Integer#toBinaryStringを利用していいのなら
for (int i = 1; i <= 255; i++) {
String s = "00000000" + Integer.toBinaryString(i);
System.out.println(s.substring(s.length() - 8));
}
みたいな感じに
本当はStringBufferや1.5以上ならStringBuilderを使えばいいけどこの程度なら変わらない

322 名前:デフォルトの名無しさん [2009/10/12(月) 04:34:56 ]
teikadeってどうなったの?

323 名前:デフォルトの名無しさん mailto:sage [2009/10/12(月) 05:57:40 ]
>>314
なんか見たなと思えば
C/C++の宿題片付けます 130代目
pc12.2ch.net/test/read.cgi/tech/1250204272/783

783 名前:デフォルトの名無しさん[] 投稿日:2009/10/11(日) 11:31:43
[1] 授業単元:
プログラミング1
[2] 問題文(含コード&リンク):
2進数で00000001から11111111まで表示する。
[3] 環境
 [3.1] OS:windows
 [3.2] わからん
 [3.3] C言語
[4] 期限: 10月15日まで
[5] とくになし。この前for文を習ったばっかり。




324 名前:デフォルトの名無しさん mailto:sage [2009/10/12(月) 20:56:48 ]
どなたか教えてください。例えば、
hoge[]={300,400,500,200,100} をソートしたときに元の配列番号の並びかえで
{4,3,0,1,2}として別の配列に格納したいんですがどうしたらいいでしょうか。
テンプレ使うまでもない質問だと思ったので、こんな形ですいません。
よろしくお願いします。

325 名前:デフォルトの名無しさん mailto:sage [2009/10/12(月) 21:18:01 ]
すいません>>324の補足です
ソート時にはjava.util.Arrays.sort(hoge)を使います。

326 名前:デフォルトの名無しさん mailto:sage [2009/10/12(月) 23:04:07 ]
>>324
テンプレ使うまでもない質問なら質問スレへどうぞ

327 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 01:07:20 ]
>>324
3000,4001,5002,2003,1004をソートして%10
新たにclass作ってimplements Comparable

328 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 09:35:59 ]
>>324
>>245


329 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 11:45:44 ]
>>327
答えてやるなよ・・



330 名前:デフォルトの名無しさん [2009/10/13(火) 17:28:17 ]
【 形態 】1. Javaアプリケーション(main()で開始)
【 期限 】10月17日 
【 Ver  】1.6.0_11

A=
{-7.29565,6.54738,4.07991}
{-5.58592,7.51773,-1.78163}
{9.22599,-3.26847,-3.03223}
{6.25081,-8.75345,-4.31528}

行列norm ||A||1、||A||∞を求めるプログラムを作成せよ


参考になるかはわかりませんが、複素数ベクトル版の2-norm、∞-normを
求めるプログラムはこれです
ttp://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/803.java


お願いします

331 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 18:16:53 ]
>>330
rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/804.java






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](;´∀`)<316KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef