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


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

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



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()に書き込めば、コンソールに表示されるのでは?






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

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

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