1 名前:JavaScriptは板違い、Web制作板をご利用ください [2008/05/30(金) 03:17:59 ] 【質問者へ】 回答者の便宜のため、以下の注意事項を遵守してください。 ・質問は【課題提示用テンプレ】を利用してください。 ・問題文は、出題されたまま全文を書いてください。 ・数学問題は「○×法でせよ」だけでなく、その数式、前提条件も説明してください。 ・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 【前スレ】 pc11.2ch.net/test/read.cgi/tech/1196543694/
267 名前:255 mailto:sage [2008/06/25(水) 20:48:16 ] >263 わかりづらくてすみません。 やりたいのは、まさに>259が書いてくれた通りなんです。
268 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 20:52:55 ] >>264 日本語ヘンじゃね?
269 名前:angel452 mailto:sage [2008/06/25(水) 22:28:27 ] 【 課題 】FTPクライアントの作成 【 期限 】2週間以内 【 補足 】 はじめまして javaで、ネットワークダウンロードをするFTPクライアントソフトを作成しようとしているのですが、 比較的簡単に行うには、どうしたらいいのでしょうか? もちろんアドレス、IPなどはプログラム内に書き込んで、実行するだけで その指定した、バイナリファイルをダウンロードして、保存するという だけのプログラムなんですが。 JAVAでFTPクライアントだと、commons.netというクラスライブラリを見つけたのですが、 それを上手く使う方法がわかりません。。。 宜しければプログラミングか、アドバイスをいただけたらと思います。。。。 レベル的にはどうでしょうか? 一応つくりはじめてはいるのですが・・・
270 名前:angel452 mailto:sage [2008/06/25(水) 22:36:10 ] ちなみにプロトコルはFTPで、TCP/IP利用です。 サーバも自作しまして、LinuxのFedora上でapacheです。(こちらは既に完成。) よくあるアップロードするFTPクライアントではなく、 ダウンロードだけできるFTPでよいのですが。 ソケットの扱いなどが全然わかりません…。 先が見えてこない状況です。。。
271 名前:angel452 mailto:sage [2008/06/25(水) 22:43:11 ] 訂正 サーバはapacheではなく、vsftpでした。。。 自作したvsftpによるFTPサーバからLANを通じて、 自作したFTPダウンロードクライアントで特定のファイルのダウンロード・保存をしたいのです。
272 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 02:38:50 ] >>268 句読点もわからんのかよw
273 名前:263 mailto:sage [2008/06/26(木) 03:25:19 ] >>267 設計レベルのその回答で、もう満足したのか。
274 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 09:26:54 ] >>269 【初心者】Java質問・相談スレッド116【歓迎】 pc11.2ch.net/test/read.cgi/tech/1213347130/
275 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 12:58:00 ] 【課題】オブジェクトの持つ int の値の属性で並び替えるプログラムを作成しなさい。 用いるアルゴリズムは単純選択ソート (バブルソート) の最初のサンプルプログラムのものでかまわないが、違うアルゴリズムでもよい。 main メソッドのあるクラスのクラス名は MusicSortByRating とする。 リストの要素は Music クラスのオブジェクトとし、 Music クラスの属性 rating の降順でソートするものとする。 rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/305.java 【形態】1. Javaアプリケーション(main()で開始) 【期限】6月30日 23:59 【Ver】1.5.0.11 【補足】丸投げです。宜しくお願いします
276 名前:デフォルトの名無しさん [2008/06/26(木) 15:14:23 ] >>275 一部 private static void sort(ArrayList<Music> list) { for(int i=1; i<list.size(); ++i) for(int j=list.size()-1; j>=i; --j) if(list.get(j-1).getRating() < list.get(j).getRating()) swap(list, j-1, j); } private static void swap(ArrayList<Music> list, int index1, int index2) { list.set(index2, list.set(index1, list.get(index2))); }
277 名前:デフォルトの名無しさん [2008/06/26(木) 16:11:50 ] 【 課題 】以下のようなプログラムを作り,提出してください. 入力した数に応じて,1回目には正方形を1個描き,正方形の頂点に辺の長さが1/2の正方形を,遇数回目には全ての頂点に,奇数回目には上の2頂点に,所定の回数を描くプログラムを再帰を使って書きなさい. 色はなんでもいい 【 形態 】1. Javaアプリケーション(main()で開始) 【 期限 】6月27日 【 補足 】クラスは Problem4,ソースコード名は Problem4.java,HTMLファイルは Problem4.html とすること. クラス Problem4 は前回の授業で示した DrawCircle7 を継承すること. コンパイル,実行するには,DrawCircle7.class,DrawCircle2.class,DrawCircle2$ActionAdp.class が必要である.
278 名前:277 [2008/06/26(木) 16:14:07 ] プログラム DrawCircle7.javaは /* DrawCircle7.java 円の中に一定比率で縮小された異なる色の同心円を指定された回数だけ 描くプログラム. */ import java.applet.Applet; import java.awt.*; import java.awt.event.*; public class DrawCircle7 extends DrawCircle2 { // DrawCircle2 を継承 public void paint(Graphics g) { int x = 200; // 円の中心のX座標 int y = 200; // 円の中心のY座標 int radius = 150; // 円の半径 (初期値) int times = 0; // 繰り返した回数のカウント while (times < number) { // number は繰り返し回数 setColor(g, times); // 色を設定するメソッド g.fillOval(x - radius, y - radius, radius * 2, radius * 2); // 円の塗りつぶし times++; // 描画回数を1増やす radius = radius * 4 / 5; // 半径を 4/5 にする } }
279 名前:277 [2008/06/26(木) 16:14:50 ] /* 色の設定メソッド 引数の説明: 第1引数: 色を設定する Graphics クラスのオブジェクト 第2引数: 色指定をするインデックス */ void setColor(Graphics g, int count) { int index = count % 5; // count % 5 はcountの5による剰余 if (index == 0) { // 剰余が0の場合 g.setColor(Color.blue); } else if (index == 1) { // 剰余が1の場合 g.setColor(Color.green); } else if (index == 2) { // 剰余が2の場合 g.setColor(Color.yellow); } else if (index == 3) { // 剰余が3の場合 g.setColor(Color.pink); } else if (index == 4) { // 剰余が4の場合 g.setColor(Color.magenta); } else { g.setColor(Color.blue); } } } です どなたかお願いします
280 名前:デフォルトの名無しさん [2008/06/26(木) 16:19:16 ] >>277 DrawCircle2.java も提示してください。 形態がアプリケーションなのに HTML ファイル名が指定されているのはなぜ?
281 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 12:41:33 ] 関係ないが、ひでえコメントのソースだなw
282 名前:使用書無しさん [2008/06/27(金) 22:22:56 ] >>281 同感 ばあさんに老眼鏡なしで新聞読めてなもんだ
283 名前:rai1994 [2008/06/28(土) 04:07:19 ] 【 課題 】以下の文字列をハッシュ値に変換するCプログラムをJavaで書き直せ。 【 形態 】1. Javaアプリケーション 【 期限 】2週間以内。 【 Ver 】java version "1.6.0_03" Java(TM) SE Runtime Environment (build 1.6.0_03-b05) Java HotSpot(TM) Client VM (build 1.6.0_03-b05, mixed mode, sharing) 【 補足 】ただ単にJavaで書き直せだそうです。 // 入力引数: *key : ハッシュするキー // size : アドレス空間の大きさ // 戻り値 hv : ハッシュ値 unsigned int hash(char *key, unsigned int size) { unsigned int h = 0 , // hv , // ハッシュ値 g ; // int i ; // for(i = 0; key[i] != '\0'; i++) { h = (h << 4) + key[i] ; g = h & 0xf0000000 ; if (g != 0) { h = h ^ (g >> 24) ; h = h ^ g ; } } hv = h % size ; return hv ; }
284 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 13:43:43 ] >>283 仕様の場合だけに限定すると、文字コードは何でもOKとして char * は、ANK以外の2バイト文字の場合はJavaだとどう入ってるの? char *a_cpp = "abcdあいう"; // 7文字、10バイト String a_java = "abcdあいう"; // 7文字、14バイト か、または String b_java = "abcd\60\102\60\103\60\104"; // 10文字、20バイト か、または String c_java = "\60542\25444あいう"; // 5文字、10バイト
285 名前:rai1994 [2008/06/28(土) 13:53:57 ] デフォルトの名無しさん> 拡張ハッシュ法に使うものでして。char *keyには,文字列英単語が入ってきます。 ttp://rg550.hp.infoseek.co.jp/cgi-bin/joyful/main.htmに出した最新の課題も見てもらえると うれしんですが。よろしくお願いします。
286 名前:284 mailto:sage [2008/06/28(土) 14:29:45 ] 今のところ出来たの、上げておきます。 C/C++の結果と比較してないのでDEBUG PRINT付き。 rg550.hp.infoseek.co.jp/cgi-bin/joyful/main.htm 307.java 306.txt はモジュールが足りないようです。
287 名前:rai1994 [2008/06/28(土) 15:13:32 ] 284さん どうもありがとうございます。 モジュールがたりないってどういうことですか??
288 名前:284 mailto:sage [2008/06/28(土) 16:40:56 ] >"hash_extend.h"と"hash_extend.c"に入ってるやつもJavaにしなくてはならないのですが これ、モジュールが足りないという意味です。
289 名前:rai1994 [2008/06/28(土) 17:01:18 ] 分りました。その中身もアップします。よろしくお願いいたします。
290 名前:rai1994 [2008/06/28(土) 17:11:58 ] そのなかに、文字列をハッシュ値に変換するCプログラムも入っています。
291 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 00:33:47 ] 【 課題 】 <要求仕様> ・パラメータから年・月を受け取り、 その「前月」「当月」「次月」の3ヶ月をコンソールに 出力するカレンダーを作成してください。 (要するに、2008、5と入力したら、4月、5月、6月の3か月分を出力する) <条件> ・パラメータチェックメソッドを実装すること ただし、同メソッド内にtry/catch句を記述してはいけない。 (自前で数値チェックを実装する) ・mainメソッドはControllerとしてのみ使用すること。 (実際の作成/出力処理は別メソッドに実装すること) 【 形態 】Javaアプリケーション 【 GUI 】制限なし 【 期限 】7/2(火)AM10:00 【 Ver 】java version "1.6.0_05" Java(TM) SE Runtime Environment (build 1.6.0_05-b13) Java HotSpot(TM) Client VM (build 10.0-b19, mixed mode, sharing) 【 補足 】一応私が作った1ヶ月だけのカレンダーソースをアップローダーに配置します。 よろしくお願い致します!
292 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 02:41:33 ] 【 課題 】swingを使用しての図形表示や保存(補足のtxtに詳細を載せました) 【 形態 】Javaアプリケーション 【 GUI 】2.Swing 【 期限 】7/2(火)AM9:00 【 Ver 】java version "1.6.0_05" Java(TM) SE Runtime Environment (build 1.6.0_05-b13) Java HotSpot(TM) Client VM (build 10.0-b19, mixed mode, sharing) 【 補足 】 ttp://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/315.txt (i)までは理解できるのですが、(ii)以降がまったく分かりません。 どのように考えるべきなのかなどもイメージが湧かず、 非常に参っております…… よろしくお願い致します。
293 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 15:04:49 ] >>292 (i)が理解できるということは、(i)のプログラムはできてるのかな? どんな感じで作ってるか知りたいから、できたらそれも見せてくれないかな
294 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 15:54:23 ] >>293 申し訳ございません。何となくイメージできる程度にしか理解できておりません。 現在、どのように書けばいいか試行錯誤中です……
295 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 17:35:47 ] 【 課題 】簡単なゲームにファイル機能を(補足のtxtに詳細を載せました) 【 形態 】Javaアプリケーション 【 GUI 】特に制限は課されていません 【 期限 】7/2(火)AM10:00 【 Ver 】java version "1.6.0_05" Java(TM) SE Runtime Environment (build 1.6.0_05-b13) Java HotSpot(TM) Client VM (build 10.0-b19, mixed mode, sharing) 【 補足 】 ttp://rg550.hp.infoseek.co.jp/cgi-bin/joyful/main.htm 316.txt 問題の1から分からず、丸投げ状態です。 宜しく御願い致します。
296 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 19:44:40 ] >>292 こんな風? ttp://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/317.java
297 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 21:40:02 ] >>291 こんな? ttp://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/318.java
298 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 22:16:30 ] >>276 返答が遅くなってしまいました、すみません。 有難うございました
299 名前:291 mailto:sage [2008/06/29(日) 22:33:49 ] >>297 素晴らしいです!!! 本当にありがとうございました!!!
300 名前:292 mailto:sage [2008/06/29(日) 22:56:21 ] >>296 そのような形です。まさにそれっといった感じです! Vectorクラスなどを使うのですね。すごく参考になります。 for(シェイプ情報 s : シェイプス)はどういった意味を指すのでしょうか? 「java for コロン」などで検索してもよく理解できませんでした。
301 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 22:57:46 ] 拡張forループ
302 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 23:02:03 ] >>301 ありがとうございます!
303 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 23:13:54 ] www.objectstart.com/downloads.html にある下から2番目のClick here to access a Zip file containing the Java 1.5.x version of source code for the second edition of BJO. (This version of source code will not compile with Java 1.4.x or earlier compilers.) のファイルにあるCh14のCourse Person Professor ShedcleOfClasses Section Student Transcript TranscripEntry のクラス図を教えてください 期限は明後日です。 クラス図がさっぱりわかりません
304 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 05:30:34 ] >>295 どうだろ? ttp://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/319.zip
305 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 05:49:33 ] >>304 セーブの前に「決定」をしないとイメージがずれてしまうので修正。 ttp://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/321.zip
306 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 05:57:50 ] 【 課題 】 Swingを使った簡易ドローエディタ 色・図形選択のできるボタンがあり、マウスをウィンドウ内でドラッグすると 選ばれている色で選ばれている図形を描画する。以前に描画した図形は描画したまま。 【 形態 】1. Javaアプリケーション(main()で開始) 【 GUI 】 現状:javax.swing.*、java.awt.*、java.awt.event.*、java.util.*をimport 特に制限はないと思います。 【 期限 】提出期限:本日16時 【 Ver 】 学内のLinuxパソコン:おそらく1.6.0 今は自宅のWindowsマシン、Eclipse(IDE for Java Developers)で実行中 【 補足 】 ↓今自分が作っている最中のソースコードです。 ttp://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/320.txt 今は押すごとに色が赤→緑→青と順次変わるボタンと 押すごとに描画図形が四角形⇔楕円と変わるボタンがついただけの状態です 追加・変更したい要素は、 1.描画図形の種類に直線と中が塗りつぶされている四角形を追加 2.色・図形の選択をボタンでなくJComboboxやJColorChooserで実装 このうち1番が必須で、2番は可能であればという感じです。
307 名前:デフォルトの名無しさん [2008/06/30(月) 11:12:30 ] >>306 2の図形選択と1の直線追加の手抜き差分。 直線のクラス LineFigure は直してないが、座標計算要修正。 class DrawApplication に以下を追加: private String figureMode; public void setFigureMode(String figureMode) { this.figureMode = figureMode; } 同クラス内メソッド void createFigure(int x, int y) を修正: //Figure f = oval ? new OvalFigure(x, y, 0, 0, currentColor): new RectangleFigure(x, y, 0, 0, currentColor); Figure f = null; if(figureMode.equals("Oval")) { f = new OvalFigure(x, y, 0, 0, currentColor); } else if(figureMode.equals("Rectangle")) { f = new RectangleFigure(x, y, 0, 0, currentColor); } else { f = new LineFigure(x, y, 0, 0, currentColor); } class DrawMain の void main(String argv[]) を修正: //final JButton fc = new JButton("図形変更"); final JComboBox fc = new JComboBox(new String[]{"Oval","Rectangle","Line"}); fc.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ app.setFigureMode((String)fc.getSelectedItem()); } }); fc.setSelectedItem("Oval");
308 名前:307 [2008/06/30(月) 11:17:40 ] ごめん、ソース部分に全角スペースでインデント入ってしまった。 コピペするとき消しといて。
309 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 12:43:37 ] >>308 ぜんぜん問題無い
310 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 14:32:49 ] >>275 の問題の続きです 【課題】問題1のプログラムをもとに、 Music クラスに Comparable インタフェースを実装し、 それを利用してソートをするようにプログラムを変更しなさい。 ただし、rating の降順でソートすることは変わらないものとする。 ソートのアルゴリズムは問題1と同じでよい。 main メソッドのあるクラスのクラス名は ComparableMusicSortByRating とする。 【形態】1. Javaアプリケーション(main()で開始) 【期限】6月30日 23:59 【Ver】1.5.0.11 【補足】Comparableインターフェースを作成していちおうソートはできたのですが 問題1のソートアルゴリズムを全く使用していないものになってしまいました。 rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/322.java どうしたら先のソートアルゴリズムを利用できるかが分からない部分です。 よろしくお願いします
311 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 15:16:47 ] >>310 ArrayListをCollections.sort()にかけてやればよいのでは?
312 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 18:04:37 ] [1] 授業単元:オペレーティングシステム [2] 問題文(含コード&リンク): プログラム step1: a = x + y; step2: b = z + 1; step3: c = a ? b; step4: w = c + 1; に関し、rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/323.txt を完成させて、 step1とstep2を並列実行させるプログラムを作成せよ。 但し、x,y,zはプロンプトにしたがって入力するとする。 正しく動作したか?結果を考察せよ。 [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C言語 [4] 期限:7/3 23:00まで
313 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 18:07:03 ] >>312 落ち着いてスレタイを嫁
314 名前:276 [2008/06/30(月) 18:09:02 ] >>310 Music が Comparable#compareTo() を実装する利点は、sort() が Music クラスを知らなくて済むことなんだが…。 ジェネリックスの書き方が自信ないのでそのまま。 // Music オブジェクトのリストをソート private static void sort(ArrayList<Music> list) { for(int i=1; i<list.size(); ++i) for(int j=list.size()-1; j>=i; --j) //if(list.get(j-1).getRating() < list.get(j).getRating()) if(list.get(j-1).compareTo(list.get(j)) > 0) swap(list, j-1, j); } あ、 Collections.sort(list); を sort(list); にするのを忘れないよーに。
315 名前:312 mailto:sage [2008/06/30(月) 18:10:00 ] 誤爆った。 スレ汚しスマソ
316 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 20:35:30 ] >>314 たまに見るんだけどforの増加値の所を++iと描くのは何か意味があるのかな? 私はi++って描くんだが なんとなくバブルソート置いておきます・・ private static void sort(ArrayList<Music> list) { for(int i=0; i<list.size()-1; i++) for(int j=i+1; j<list.size(); j++) if(list.get(i).compareTo(list.get(j)) > 0) swap(list, i, j); }
317 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 21:07:26 ] >>316 > for(int i=0; i<list.size()-1; i++) 上記例では++iでも結果は同じ。 ++i : +1してからiを評価 i++ : iを評価後に+1 よって (if i++ > 10) と (if ++i > 10) とは結果が違う。
318 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 21:27:02 ] >>317 すまん・・それは知ってるんだけどforの増減値の所は i++が普通だと思っててなんとなく気になったんだよ
319 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 22:43:21 ] package java_center_test; public class six { public static void main(String[] args) { //以下のswitch文をif文で書き換えてください。 /* switch(n) { case 90; case 80; System.out.println("A"); break; case 70; System.out.println("B"); break; case 60; System.out.println("C"); break; default; System.out.println("D"); break; */ 【 課題 】以下のswitch文をif文で書き換えてください。 【 形態 】1. Javaアプリケーション(main()で開始) 【 GUI 】 5. その他(意味がわかりません) 【 期限 】一週間後です。 【 Ver 】1.5.0 【 用語 】 【 補足 】動かないので /* と */ で囲ってあります.Eclipse というソフトを使っています。OS は MacOSX の 10.4 です。このサイトは先輩から教えてもらいました。初めての利用です。よろしくお願いします。
320 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 23:04:28 ] >>319 case の後ろは ; ではなく、 : が正しい。 switchを閉じる } が無い。 その先輩に直接聞いた方が、早かったのでは?
321 名前:639 mailto:sage [2008/06/30(月) 23:48:56 ] >>319 package java_center_test; public class six { public static void main(String[] args) { if(n == 90 || n == 80){ System.out.println("A"); }else if(n == 70){ System.out.println("B"); }else if (n == 60){ System.out.println("C"); }else{ System.out.println("D"); }
322 名前:デフォルトの名無しさん mailto:sage [2008/07/01(火) 02:21:36 ] >>316 プログラミング言語C(K&R) が ++i って書いてあるからそれの影響じゃないかな?
323 名前:322 mailto:sage [2008/07/01(火) 02:40:50 ] 今確認したらK&Rも i++ だった.スレ汚しスマソ.
324 名前:デフォルトの名無しさん mailto:sage [2008/07/01(火) 02:47:31 ] 【 課題 】1.線型リストの要素数を返すメソッド int listLength(ListNode head) を作成しなさい. 2.線形リストの要素を逆順に並べかえるメソッド ListNode listRev(ListNode head) を作成しなさい. 再帰的メソッドと,繰り返し制御を用いた非再帰的なものを作成しなさい. 非再帰的なメソッドの名前はlistRevとし,再帰的メソッドの名前はlistRev2として, 1つのプログラム中に両方の定義を書き,正しく実行できるかが示せればよい. 3. 線型リストの要素を大きさの順(辞書式順序)に並べ替えるメソッド ListNode listSort(ListNode head) を作成しなさい. 【 形態 】1. Javaアプリケーション 【 期限 】7/3 17:00 【 Ver 】1.5.0_15 【 補足 】条件は,next欄を書き換えることで要素の並び方を変更するのであり,単に逆順に表示するのではない. すなわち,「ポインタを付けなおす」ことに相当するので, new演算子を使わずにリストのnext欄の値を書き換えることで並べかえること. 任意の長さ(要素数)の線形リストに対して動作すること. すなわち,要素数が1つの線形リストや,要素数が0(空リストnull)のものに対しても正しく動作するか確認しなさい. となっています. また,グローバル変数は使えず,listSortではint compareTo(String anotherString)メソッドを使用するように言われています. 課題2の再帰的なメソッドlistRev2と,課題3がうまくいきません. 各メソッドの定義はttp://www.ed.noda.tus.ac.jp/j-takeda/list.htmlにあります. よろしくお願い致します.
325 名前:デフォルトの名無しさん mailto:sage [2008/07/01(火) 17:33:31 ] >>320 の方 アドバイスありがとうございます! 本当ですね。> ";" でなく ":" が正しい 問題用紙をじっくり見たら確かにでした。そして画面で見たら分からなかったです。 ちなみに先輩は規則正しい生活なので帰られてました。>夜11時 >>321 の方 ありがとうございます! 動くことも確認しました。ありがとうございました。 あと、期限なのですが、来週と思っていたら、明後日の朝でした。 何でも持ち込みして良いとのことなので、この掲示板のお力も借りられればと思っています。
326 名前:デフォルトの名無しさん mailto:sage [2008/07/01(火) 19:40:24 ] >>316 実装の問題じゃね? インクリメントを実装するときに、後置だとインクリメントする前の値を返す必要があるから、変数をバックアップした後に+1してバックアップをreturn。 でも前置なら+1した変数をそのままreturnすればいいので、後置にするよりローコストになる。 でも、正直intとかのネイティブならコンパイラの最適化対象になりそうなんで、コンパイルしてみるとどっちでも同じというオチ。
327 名前:デフォルトの名無しさん mailto:sage [2008/07/01(火) 19:50:41 ] >>324 書いてみた。 ttp://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/324.java
328 名前:319 mailto:sage [2008/07/01(火) 20:17:07 ] 丸投げで申し訳ないのですがよろしくお願いします。 問題 次のように画面に出力されるプログラムを作成せよ。 ただし作成するプログラムに反復構造を含めること。 ----------------------------------------------------------------- 12345 1234 123 12 1 -----------------------------------------------------------------
329 名前:319 mailto:sage [2008/07/01(火) 20:18:10 ] 問題 次のように画面に出力するプログラムを作成せよ。 ただし作成するプログラムに反復構造を含めること。 ----------------------------------------------------------------- 12345 1234 123 12 1 12 123 1234 12345 -----------------------------------------------------------------
330 名前:319 mailto:sage [2008/07/01(火) 20:22:31 ] 問題 2006年現在の日本の人口は127,700,000人です。 年率0.5%の割合で人口が減少した場合、2007年の人口は何人になるかを計算して、以下のように表示するプログラムを作成せよ。 ----------------------------------------------------------------- 2007年の日本の人口はXXXXXXX人になる。 -----------------------------------------------------------------
331 名前:319 [2008/07/01(火) 20:23:35 ] 問題 2006年現在の日本の人口は127,700,000人です。 年率0.5%の割合で人口が減少した場合、2030年の人口は何人になるかを計算して、以下のように表示するプログラムを作成せよ。 ----------------------------------------------------------------- 2030年の日本の人口はXXXXXXX人になる。 -----------------------------------------------------------------
332 名前:319 mailto:sage [2008/07/01(火) 20:28:41 ] package java_center_test; public class exam107 { //次のプログラムを実行したときの出力を示せ。 //また各 ans を求めた計算過程を説明せよ。 //(説明例)x=3, y=2 のとき ans=x+y=3+2=5 public static void main(String[] args){ int x=3, y=3, ans=1; ans = x-- * ++y; System.out.println(ans); ans += x++ * --y; System.out.print(ans); //初期状態:x=3,y=3,ans=1 //次の状態:x=2,y=4,ans=2*4=8 ??? //最後状態:y=3,y=3,(ansは12)←これに足し算するので ans=15 ??? //ゴメンなさい。コンソールでは 次,最後が 12,18 になっています。 //なぜでしょうか? } }
333 名前:319 mailto:sage [2008/07/01(火) 20:35:00 ] package java_center_test; public class exam108 { //以下のプログラムを実行したときの出力結果を示せ。 //さらにこのプログラムを for-loop 文で書き直せ。 public static void main(String[] args){ int num =0, i=1; while((num=23*i)<100){ System.out.println(num); i++; } //出力結果は得られて理解は出来たのですが、 // for-loop 文の書き直しがちっとも頭に浮かびません。 } }
334 名前:デフォルトの名無しさん mailto:sage [2008/07/01(火) 20:39:35 ] >>332 >>317
335 名前:319 mailto: [2008/07/01(火) 20:49:26 ] package java_center_test;public class exam114 { //各学生の合計を計算し、配列 goukei に格納する。そして各学生の平均点を表示するプログラムを完成させなさい。なお、配列の要素数の情報は length を用いること。 // //配列 ten // // 英語 数学 社会 理科 合計 //学生A 60 50 80 80 → //学生B 70 80 70 90 → //学生C 40 90 60 70 → public static void main(String[] args){ int ten[][]={{60,50,80,80}, {70,80,70,90}, {40,90,60,70}}; int goukei[]=new int[ten.length]; //学生ごとの合計点数の集計 for(int i=0; i< 「Q.1」; i++){ 「Q.2」=0; //配列 goukei の初期化 for(int j=0; j<「Q.3」; j++){ goukei[i]=goukei[i]+「Q.4」; } } //平均点の表示 for (int i=0; i< goukei.length; i++){ System.out.println(goukei[i] /「Q.5」);}}}
336 名前:デフォルトの名無しさん mailto:sage [2008/07/01(火) 21:03:05 ] 319の未来が心配だ・・この調子だと毎回丸投げしそうで怖いぞ >>328 とか 1 12 123 1234 12345 を表示するプログラムは授業でやってるとかじゃないのか?
337 名前:319 mailto:sage [2008/07/01(火) 21:23:48 ] >>336 自分でも未来が心配です・・ >>328 とか おそらく System.out.println("1"); System.out.println("12"); System.out.println("123"); System.out.println("1234";) System.out.println("12345";) を for 文で書くので、おそらく 12345 を数字でなくて、 文字列として書けば良いのだと思って今のところ String ary[] = 12345 みたいな感じで for 文 ループを回そうとしています。 授業で文字列の最後だけ消して行くような内容はやったかどうか分かりません。
338 名前:319 mailto:sage [2008/07/01(火) 21:28:03 ] 今は >>332 ではまっています。 以前に i++ と ++i の違いについての書き込みがあったので、 それを読みながら試行錯誤しています。 int x=3, y=3, ans=1; ans = x-- * ++y; System.out.println(ans); ans += x++ * --y; System.out.print(ans); //初期状態:x=3,y=3,ans=1 //次の状態:x=2,y=4,ans=2*4=8 ??? //最後状態:y=3,y=3,(ansは12)←これに足し算するので ans=15 ???
339 名前:デフォルトの名無しさん mailto:sage [2008/07/01(火) 21:36:55 ] >>338 とりあえず、この辺りからじゃね? int x=3; System.out.println( x--); x=3; System.out.println( --x);
340 名前:319 mailto:sage [2008/07/01(火) 21:49:09 ] 自己解決したような気がします。 >>332 //日本語になっているのか怪しいけれどメモしておきます。 // int の次の行では x は ++ される前に ans に行くので、 // x は初期状態のままの 3 。そして y は ans に行く前に ++ されるので、 // y は初期状態から1つ足した値の 4 になる。 // 3*4 = 12 という答えが出てくる。 //最後のところは先ず x が int の次の行で -- されているので、 // x は 2 なのだけど、++ は ans に行く後なので、ここでは x は 2 のままで考えて、 // y は上のところと同様に y の前に -- があるから、こっちは -- されて 3 である。 // 3*2 = 6 となって、これが ans に入ってた 12 と足し算になるので合計 18 になる。 //一応、自己解決しました。
341 名前:319 mailto:sage [2008/07/01(火) 21:53:44 ] >>339 ありがとうございます。まさに、その辺りでした。> --x と x-- 何の意味があるのかわからないのですが、そういうものだと丸暗記して次に進みます。 実は public static void main(String[] args) の意味も理解してません。 とはいえ授業の配布資料のメモにも「丸暗記」と書いてありますし、悩むだけの時間も与えられてないので・・
342 名前:デフォルトの名無しさん mailto:sage [2008/07/01(火) 21:57:35 ] >>341 そこは暗記で良いよ。 public static void main(String[] args)からプログラムが始まるってことでいい。 次は>>330 かな・・・
343 名前:319 mailto:sage [2008/07/01(火) 22:16:59 ] >>342 そう断言して頂けると安心して次に進めます。 「位置についてよーいドン」の訳語とでも丸暗記しておきます。 >>330 ですか。>>333 の書き換え問題で悩んでいるので、少し放置して330にチャレンジしてみたいと思います。 実は書き込んだ順と与えられた問題の順番が違っていて、手元の試験問題対策プリントだと、>>332 ,>>333 ,>>328 ,>>329 ,>>330 ,>>331 ,>>335 の順番に並んでいます。
344 名前:デフォルトの名無しさん mailto:sage [2008/07/01(火) 22:36:54 ] これは>319が自分で解けるように誘導する流れなのか?
345 名前:639 mailto:sage [2008/07/01(火) 22:41:35 ] >>343 普通にその順番でやっていったほうがいいと思う。 >>330 以降の問題も>>333 の問題ができないとできない。(whileでもできんことはないけどめんどくさい) forは for(初期値;継続条件;増分){ 処理内容 } >>330 の問題を直すと int i,num=0; for(i=1;(num=23*i)<100;i++){ System.out.println(num); }
346 名前:639 mailto:sage [2008/07/01(火) 22:47:50 ] 俺なんで名前>>639 にしてたんだwww >>328 int i,j; for(i=0;i<5;i++){ for(j=1;j=5-i;j++){ System.out.print(j); } System.out.println(); }
347 名前:319 mailto:sage [2008/07/01(火) 22:51:43 ] >>344 ここは「丸投げ」のスレッドという認識を持ってしまっているのですが、それはあまりに皆様に失礼な気もしまして・・ >>328 と>>329 について、もしかしたら>>18 の三角形の問題が役立つかなと思って>>21 の解答例を見たら知らない単語が並んでいて自分には役立たないことが分かりました。 別スレッドに「14: 【初心者】Java質問・相談スレッド116【歓迎】 (***)」というのがあるのも知っているのですが、いきなり質問を投げても経緯を説明しないことには回答者の方も大変かなと思いまして。 Java そのものより Exlipse というソフトウェアの使い方も掴みきれていないような状況ですが、英語とかの課題も平行してプログラミングを勉強しています。 今日は目が痛くなってきたので、そろそろ Java のテキストの読み込みの方に移ろうかなと考えているところです。
348 名前:324 mailto:sage [2008/07/01(火) 22:58:05 ] >>327 こんなに早く答えていただきありがとうございます。 大変助かりました。 参考にさせていただきます。
349 名前:319 mailto:sage [2008/07/01(火) 23:04:06 ] >>345 書き換え問題ありがとうございます。 確かに同じ結果が出ますね。スゴいです。 どうして for 文と while 文とがあるのでしょうか? while でも出来るけどめんどくさいというのは直感でわかるものなのでしょうか? >>346 for 文の入れ子構造ですか!? ちょっとガンバって当てはめてみたいと思います。 「型の不一致: int から boolean には変換できません」と言われてしまいました。 もはや何を言っているのかわからないので今日は画面を消したいと思います。 ありがとうございました。
350 名前:デフォルトの名無しさん mailto:sage [2008/07/02(水) 06:26:09 ] >>319 >>1 基本的にテンプレ無視にはレスしない 長い課題でロダ使わずレス消費するのはマナーいくない
351 名前:319 [2008/07/02(水) 13:08:19 ] 【 課題 】 package java_center_test;public class exam114 { //各学生の合計を計算し、配列 goukei に格納する。そして各学生の平均点を表示するプログラムを完成させなさい。なお、配列の要素数の情報は length を用いること。 //配列 ten // 英語 数学 社会 理科 合計 //学生A 60 50 80 80 → //学生B 70 80 70 90 → //学生C 40 90 60 70 → public static void main(String[] args){ int ten[][]={{60,50,80,80}, {70,80,70,90}, {40,90,60,70}}; int goukei[]=new int[ten.length]; //学生ごとの合計点数の集計 for(int i=0; i< 「Q.1」; i++){ 「Q.2」=0; //配列 goukei の初期化 for(int j=0; j<「Q.3」; j++){ goukei[i]=goukei[i]+「Q.4」; } } //平均点の表示 for (int i=0; i< goukei.length; i++){ System.out.println(goukei[i] /「Q.5」);}}} 【 形態 】1. Javaアプリケーション(main()で開始) 【 GUI 】GUI の問題ではないと思います。使用しているのはコマンドプロンプトなので。 【 期限 】明日の午前8時頃でお願いしたいです。 【 Ver 】1.5.0 【 用語 】 【 補足 】>>328 解決、>>329 解決、>>330 解決、>>331 解決、>>332 解決 >>333 解決 >>345 、>>346 ありがとうございました。 本問題(>>335 と同じ)は急にレベルが上がった気がします。 >>350 確かにマナー良くなかったです。ご指摘ありがとうございました。
352 名前:デフォルトの名無しさん [2008/07/02(水) 14:54:39 ] >>351 public class exam114 { public static void main(String[] args) { int ten[][] = { {60,50,80,80}, {70,80,70,90}, {40,90,60,70}, }; int goukei[] = new int[ten.length]; for(int i=0; i<ten.length; i++) { goukei[i] = 0; for(int j=0; j<ten[i].length; j++) { goukei[i] = goukei[i] + ten[i][j]; } } for(int i=0; i<goukei.length; i++) { System.out.println(goukei[i]/ten[i].length); } } }
353 名前:デフォルトの名無しさん mailto:sage [2008/07/02(水) 16:48:22 ] 【 課題 】 スレッドの作成に関する、何か,自前のスーパークラスを継承し,かつRunnable Interface を実装したアプリケーションを作成せよ。 【 形態 】1. Javaアプリケーション(main()で開始) 【 期限 】明日の 7/3 19:00まで 【 Ver 】1.6.0 【 補足 】 凝ったものが良いらしいです、ゲームではじゃんけんなど。 よろしくお願いします。
354 名前:デフォルトの名無しさん mailto:sage [2008/07/02(水) 17:04:31 ] >>353 なんか落ちてるもの拾ってくれば? www.google.co.jp/search?hl=ja&rls=GGLD%2CGGLD%3A2005-29%2CGGLD%3Aja&q=java%E3%80%80%E3%82%B8%E3%83%A3%E3%83%B3%E3%82%B1%E3%83%B3%E3%80%80thread&lr=
355 名前:デフォルトの名無しさん mailto:sage [2008/07/02(水) 23:53:05 ] 【 課題 】カウントダウンタイマーを作る 【 形態 】1. Javaアプリケーション(mainLoop()で開始 【 期限 】7月3日 13:00まで 【 Ver 】1.6.0 【 補足 】下記のようにしたのですが秒数がカウントされません。 Date d = new Date(); int seconds = d.getSeconds(); int countdown=20; int starttime=0; int i=0; if(i==0){ starttime=seconds; i=1; } countdown=countdown-(seconds-starttime); System.out.println(countdown);
356 名前:デフォルトの名無しさん mailto:sage [2008/07/03(木) 00:30:37 ] >>292 この質問をした者ではないのですが、>>296 の方がやっていただいたプログラムを (ii)が完成した状態にしていだだけないでしょうか?
357 名前:デフォルトの名無しさん mailto:sage [2008/07/03(木) 00:50:05 ] >>356 はて? なにが出来ていないかな?
358 名前:デフォルトの名無しさん mailto:sage [2008/07/03(木) 00:58:46 ] >>357 完成はしていると思いますが(iii)の機能が付いた状態ではなく (i)と(ii)の機能が付いただけのものが見たかったもので・・・・・・
359 名前:デフォルトの名無しさん mailto:sage [2008/07/03(木) 01:12:11 ] 【 課題 】 rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/326.txt 上記のソースの簡易webブラウザに "戻る" というボタンを付け,ホームページの閲覧履歴を遡れるように実装する。 【 形態 】Applet 【 GUI 】制限なし 【 期限 】本日 7/3 20:00まで 【 Ver 】1.6.0 【 用語 】数学用語、専門用語の意味、説明を書きます。 《あれば必須》 【 補足 】丸投げです。よろしくお願いします。
360 名前:デフォルトの名無しさん mailto:sage [2008/07/03(木) 01:17:04 ] >>358 (iii)の関連部分を削ってみた。 ttp://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/327.java ただ、(i)の出来上がりとしては、毎回、前の図を消去しないといけないと思う。
361 名前:デフォルトの名無しさん mailto:sage [2008/07/03(木) 01:37:42 ] >>360 横からでしたありがとうございます (i)は補足がありそれでできましたので大丈夫です
362 名前:デフォルトの名無しさん mailto:sage [2008/07/03(木) 07:10:31 ] >>355 sleepを使えば、こう。 int countdown = 20; while(0<=countdown){ System.out.println(countdown--); try{ Thread.sleep(1000); }catch(Exception ex){ ex.printStackTrace(); } }
363 名前:デフォルトの名無しさん mailto:sage [2008/07/03(木) 08:05:35 ] それきもい。
364 名前:デフォルトの名無しさん [2008/07/03(木) 08:17:53 ] 【課題】クラスA、B、C、Dがある。クラスAはBを継承し、クラスCはBを継承し、クラスDはクラスCを継承する。 【形態】1. Javaアプリケーション(main()で開始) 【期限】7月9日 【Ver】1.5.0 【補足】
365 名前:デフォルトの名無しさん mailto:sage [2008/07/03(木) 08:25:14 ] 【課題】クラスA、B、C、Dがある。クラスAはBを継承し、クラスCはBを継承し、クラスDはクラスCを継承する。 クラスBにはint型の変数bが定義されており、コンストラクタB(int B)も定義されているとする。クラスA、C、Dは すべて親のクラスを継承し、自分のクラスの中に独立した変数の定義はないものとする。すべてのクラスとコンストラクタを定義せよ。 mainを含むクラスはTestInheritanceとしクラスDの変数yをコンストラクタD(13)で生成し、y.bを印字せよ。 【形態】1. Javaアプリケーション(main()で開始) 【Ver】1.5.0 class B { int b; B(int b){ this.b=b; } } class A extends B { A(int b){ } } class C extends B { C(int b){ } } class D extends C { D(int b){ } } class TestInheritance { public static void main (String args[]){ D y = new D(13); System.out.println("y.b = " + y.b); } } ここまで書いてみたのですがうまくいきません。どこか違うのでしょうか?よろしくお願いします
366 名前:355 mailto:sage [2008/07/03(木) 08:26:35 ] >>362 ありがとうございます。 先ほど実行したのですが、 カウントダウンはできているのですがアプレット(MainLoop?)の中で実行できませんでした。 説明不足ですみません。 一回スレッドを使ってやろうとしたのですがうまくいかなかったので Dateクラスを使って作ってみたのですがよくわかりません。 どなたか良い方法あればよろしくお願いします
367 名前:デフォルトの名無しさん mailto:sage [2008/07/03(木) 08:39:01 ] >>366 >>355 では「Javaアプリケーション」と書いてるけど・・・ いずれにせよ、init()に書き込めば、コンソールに表示されるのでは?