1 名前:JavaScriptは板違い、Web制作板をご利用ください mailto:sage [2008/09/17(水) 20:50:06 ] 【質問者へ】 回答者の便宜のため、以下の注意事項を遵守してください。 ・質問は【課題提示用テンプレ】を利用してください。 ・問題文は、出題されたまま全文を書いてください。 ・数学問題は「○×法でせよ」だけでなく、その数式、前提条件も説明してください。 ・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/1212085079/
152 名前:デフォルトの名無しさん mailto:sage [2008/10/22(水) 10:09:42 ] >>151 n個の数値というのはnは不変なのか可変なのか。 どうやってその数値は与えられるのか。
153 名前:デフォルトの名無しさん mailto:sage [2008/10/22(水) 11:17:03 ] 【 課題 】実行例のように、キーボードから英数文字列を入力し、 次に指定位置の文字を削除するプログラムを作成せよ。 【 形態 】1.Javaアプリケーション(main()で開始 【 GUI 】4.制限なし 【 期限 】10/27 【 補足 】 実行例: 文字を入力してください。 programming←(キーボードで入力) 削除したい文字の位置を整数で入力してください。 3←(キーボードで入力) prorammingになりました。 ※前回の授業ではStringクラスとStringBufferクラスを学習しました。 全くの初心者でどう手をつけていいのか分かりません。 力を貸してください。お願いします。
154 名前:デフォルトの名無しさん mailto:sage [2008/10/22(水) 11:58:16 ] >>153 授業受けてるはずなのにどう手をつけていいか分からないって不思議だよな。 足りてないのはテンプレだけじゃなく頭もなのか。
155 名前:デフォルトの名無しさん mailto:sage [2008/10/22(水) 12:28:07 ] >>154 積み重ねなので、途中から分からなくなってしまい、それからずっと引きずってます。 なので授業の内容も全く理解出来ていない状況です。
156 名前:デフォルトの名無しさん mailto:sage [2008/10/22(水) 14:04:42 ] >>155 じゃあ今期は単位を諦めて次期開講まで待てば? それが嫌だったり許されない環境なら自分で追いつく努力をしないといつまでも引きずるよ
157 名前:デフォルトの名無しさん mailto:sage [2008/10/22(水) 15:45:32 ] 【 課題 】 1.Java でテキストファイル内に記載されている文字列を置換するプログラム 2.実行時引数で条件を入力し、テキストファイルの文字列を置換するプログラム 条件は以下。 ・実行時引数の第一引数、第二引数はフォルダを指定する。 第一引数のフォルダ入っている全てのテキストファイルを置換の対象とし、 第二引数のフォルダに置換後のファイルを置くこと。 置換後のファイル名は置換前のファイル名と同じにする。 第二引数で指定されたフォルダが存在しない場合には作成する。 ・実行時引数の第三引数以降は置換前、置換後の文字列を指定するものとし幾つでも設定可能とする。 第三引数以降のフォーマットは「置換前文字列:置換後文字列」とする。 半角の":"を区切り文字とする。区切り文字を指定されなかった、もしくは指定されてい ても置換後文字列が指定されていない場合、置換処理では置換前文字列を消すだけにする。 置換前文字列には正規表現(*1)を使用可能とする。 ・第一引数に"/?"と指定された場合には引数の説明を表示し、置換処理は行わずに終了する。 ・テキストファイルのパスはArrayList で持たせる。 ・置換前文字列と置換後文字列は区切り文字で分解しHashMap に持たせる。 ・置換を開始する前に、「置換を開始します。」というメッセージを表示する。 ・置換を終了した後に、「置換を終了しました。」というメッセージを表示する。 ・以下の場合にはエラーメッセージを表示して終了する。 ●第一引数が"/?"でない場合 ○引数が第三引数まで指定されていない ○置換前文字列が指定されていない ○第一引数で指定されたフォルダが存在しない ○第二引数で指定されたフォルダが存在しておらず、なおかつ作成する事ができない 【 形態 】1. Javaアプリケーション(main()で開始 《必ず選択》 【 GUI 】? 【 期限 】10/31(10月中だと助かります) 《必須》 【 Ver 】1.6.0_07 《必須》 【 補足 】丸投げですみませんが宜しくお願いします。
158 名前:デフォルトの名無しさん mailto:sage [2008/10/22(水) 15:48:48 ] >>153 キーボードからの入力は何を使えばいいんだ? 某大学のioToolsみたいな独自ライブラリとかは使っていなくて 標準のAPIだけで実装していいの?
159 名前:153 mailto:sage [2008/10/22(水) 15:55:27 ] >>158 はい。 標準のAPIのみですね。
160 名前:デフォルトの名無しさん mailto:sage [2008/10/22(水) 16:08:24 ] >>152 他に何もヒントや情報を与えられてないので何も分からないのです。 どなたか分かる方お願いします・・
161 名前:デフォルトの名無しさん mailto:sage [2008/10/22(水) 16:09:46 ] >>157 複数の置換パターンが指定されている時、その適用順序はどうするかが分からない。 各置換パターンごとに置換処理のパスを繰り返すのか、 1パスで並行して置換していくのか。 例えば、ABCという文字列をA:B B:Cというパターンで置換する場合、 BCCになるのかCCCになるのか。 また、1パス処理の場合、複数の置換パターンが適用できる時はどれを選ぶか。 あと、/?はjavaっぽくないねw -?とか-helpとかだったらそれっぽかったかも。
162 名前:デフォルトの名無しさん mailto:sage [2008/10/22(水) 16:47:56 ] >>161 その文字列の場合だとBCCだと思います。
163 名前:デフォルトの名無しさん mailto:sage [2008/10/22(水) 16:50:25 ] >>153 public class R153 { public static void main(String[] args) { java.util.Scanner sc = new java.util.Scanner(System.in); System.out.println("文字を入力してください。"); String s = sc.nextLine(); System.out.println("削除したい文字の位置を整数で入力してください。"); int i = sc.nextInt(); System.out.println(new StringBuffer(s).deleteCharAt(i) + "になりました。"); } }
164 名前:デフォルトの名無しさん mailto:sage [2008/10/22(水) 17:04:03 ] >>162 じゃあ、ABCをA:X AB:Yで置換する場合はXBC、YCのどっちになる。 優先すべき正規表現は置換パターンの引数での指定順序に関わるのか、 最長一致とかの別の基準があるのか。 上の例なら、YCになるとして、それはAB:Yがあとから指定されているからなのか、 長い文字列に一致するからなのか。
165 名前:デフォルトの名無しさん mailto:sage [2008/10/22(水) 17:19:30 ] >>164 基本的にそこまで細かい指定はされていないのでどちらでも構わないのですが、 私は自分の中で文字列の前方から1文字ずつみていって、A:X AB:Yのように 「A」自体の置換文字があって、更にABという連続した文字列も置換する場合、 最長のほうを置換すると考えてます。 が、実際はそこまで細かく指定は受けていないのでどちらでも問題ないと思います。
166 名前:デフォルトの名無しさん mailto:sage [2008/10/22(水) 17:46:09 ] >>151 数値の与え方とかが不明なのでdouble型で与えられるとしてそれぞれのメソッドだけ 引数を可変長引数にしているので getMean(new double[]{4,2,3,1})みたいにdouble配列でもいいし getMean(4,2,3,1)みたいにしてもいい 能率や誤差は気にしない public static double getMean(double... x) { double s = 0; for (double y : x) s += y; return s / x.length; } public static double getMedian(double... x) { double[] y = x.clone(); java.util.Arrays.sort(y); return x.length % 2 == 0 ? (y[y.length / 2 - 1] + y[y.length / 2]) / 2 : y[(y.length - 1) / 2]; } public static double getVariance(double... x) { double s = 0, m = getMean(x); for (double y : x) s += (y - m) * (y - m); return s / x.length; }
167 名前:デフォルトの名無しさん mailto:sage [2008/10/22(水) 18:08:22 ] >>163 迅速な対応感謝します。 助かりましたm(_ _)m ありがとうございました。
168 名前:デフォルトの名無しさん mailto:sage [2008/10/22(水) 22:53:32 ] 【課題】名前・身長・体重をメンバとしてもつHumanクラスを作成しなさい。 【形態】1.Javaアプリケーション 【GUI】4.制限なし 【期限】10/30 【Ver】java version゙1.6.0-oem゙ 【補足】mainメソッドでは,Humanクラスのインスタンスを2つ作り,それらフィールドに代入および画面表示を行うこと。
169 名前:デフォルトの名無しさん mailto:sage [2008/10/22(水) 23:34:09 ] public class TEST0334 { public static void main(String[] args) { Human h1=new Human("name1",150.30,40); Human h2=new Human("name2",130.25,50.0); System.out.println(h1.name+","+h1.height+","+h1.weight); System.out.println(h2.name+","+h2.height+","+h2.weight); h1.height=140.45; System.out.println(h1.name+","+h1.height+","+h1.weight); System.out.println(h2.name+","+h2.height+","+h2.weight); } } class Human{ String name; double height; double weight; Human(String name0,double height0, double weight0) { height = height0; name = name0; weight = weight0; } }
170 名前:デフォルトの名無しさん mailto:sage [2008/10/23(木) 13:53:23 ] >>169 少し改変しましたが出来ました ありがとうございます
171 名前:デフォルトの名無しさん mailto:sage [2008/10/24(金) 00:58:01 ] 【 課題 】次の表示例(実行結果)のように試験の得点を入力して平均点を求めるプログラムを作成しなさい。負の点数で入力終了とする。 点数を入力してください:70 点数を入力してください:65 点数を入力してください:0 点数を入力してください:75 点数を入力してください:-1 4名が受験し、平均点は52.5です。 【 形態 】1. Javaアプリケーション(main()で開始) 【 GUI 】4. 制限なし 【 期限 】10/24 12時 【 Ver 】1.6.0_07 どうにも詰まってしましました、よろしくお願いします。
172 名前:デフォルトの名無しさん mailto:sage [2008/10/24(金) 01:35:12 ] //TEST0171.java import java.io.BufferedReader; import java.io.InputStreamReader; public class TEST0171 { public static void main(String[] args){ BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); int score,sum=0,count=0; while(true){ System.out.print("点数を入力してください:"); try { score=Integer.valueOf(br.readLine()); } catch (Exception e) { System.err.println("整数で入力してください。"); continue; } if(score<0){ break; }else{ sum =sum+score; count=count+1; } } if(count!=0){ System.out.print(count+"人が受験し、平均点は"+(int)(sum*10/count+0.5)/10.0+"です。");//小数点2桁目を四捨五入 }else{ System.out.println("0人が受験し、平均点は不定形です。"); } } } (int)(sum/count*10+0.5)/10.0や(int)(sum*10/count+0.5)/10とかやってはダメ
173 名前:デフォルトの名無しさん mailto:sage [2008/10/24(金) 01:45:55 ] //TEST0171.java import java.io.BufferedReader; import java.io.InputStreamReader; public class TEST0171 { public static void main(String[] args){ BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); int score,sum=0,count=0; while(true){ System.out.print("点数を入力してください:"); try { score=Integer.valueOf(br.readLine()); } catch (Exception e) { System.err.println("整数で入力してください。"); continue; } if(score<0){ break; }else{ sum =sum+score; count=count+1; if(sum<0){ System.err.println("Overflow"); System.exit(-1); } } } if(count!=0){ System.out.print(count+"人が受験し、平均点は"+(int)(sum*10/count+0.5)/10.0+"です。");//小数点2桁目を四捨五入 }else{ System.out.println("中に誰もいませんよ"); } }} (int)(sum/count*10+0.5)/10.0や(int)(sum*10/count+0.5)/10とかやってはダメ
174 名前:デフォルトの名無しさん mailto:sage [2008/10/24(金) 01:55:43 ] >>173 なんとかロジック理解できました( ノД`) お早い回答とても助かりました、ありがとうございました。
175 名前:デフォルトの名無しさん mailto:sage [2008/10/24(金) 09:32:42 ] 【 課題 】www.uploader.jp/user/mouse/images/mouse_uljp00262.zip 穴埋めの問題です。 【 形態 】穴埋め問題 【 期限 】11月1日 【 補足 】zipであげています。 よろしくお願いします。
176 名前:Lin [2008/10/24(金) 15:13:27 ] 【 課題 】ンバー(0〜9999)、ガソリン量(0.0〜60.0 リットル)、燃費(0.1〜20.0 km/l)の3つをprivateなフィールドとして持つクラスCarを作成せよ。ナンバーはint 型、ガソリンと燃費はdouble型とする。 コンストラクタとして以下の4つを用意せよ。引数無しのコンストラクタでは、ナンバー・ガソリン量・燃費が指定範囲内でランダムに決定するようにせよ。その他のコンストラクタでは、指定以外のフィールド値が範囲内でランダムに決定するようにせよ。 * 引数無し * ナンバー指定 * 燃費指定 * ナンバー・ガソリン量・燃費の同時指定 メソッドとして以下の4つを用意せよ。これらはいずれもpublicにせよ。もちろん、Carクラスにこれ以外のメソッドを用意しても構わない。 * ナンバー取得 * ガソリン量取得 * 燃費取得 * ガソリン量設定 Report1クラス内で、上記4種類のコンストラクタを用いてCarクラスのオブジェクトを4つ作成せよ。それぞれのオブジェクトの(1)ナンバー、(2)ガソリン量、 (3)燃費、(4)走行可能距離、の4つを画面に表示せよ。 【 形態 】1. Javaアプリケーション(main()で開始) 【 GUI 】4. 制限なし 【 期限 】10月24日 【 Ver 】Linux java version "1.6.0_04"
177 名前:デフォルトの名無しさん mailto:sage [2008/10/24(金) 16:22:12 ] public class Report1 { public static void main(String[] args) { Car c=new Car(40);//new Car(40.5); System.out.println(c.toString()); c.setGas(10.4); System.out.println(c); } } class Car { private int number; private double gas, mileage; public Car() { this((int)(Math.random()*10000),Math.random()*60.1,Math.random()*20+0.1); } public Car(int number0) { this(number0,Math.random()*60.1,Math.random()*20+0.1); } public Car(double gas0) { this((int)(Math.random()*10000),gas0,Math.random()*20+0.1); } public Car(int number0, double gas0, double mileage0) { number = number0;gas = gas0;mileage = mileage0; } public double getGas() {return gas;} public void setGas(double gas0) {gas = gas0;} public int getNumber() {return number;} public double getMileage() {return mileage; } @Override public String toString() { return String.format("ナンバー=%4d,ガソリン量=%.1f,燃費=%.1f,走行可能距離=%.1f",number,gas,mileage,mileage*gas); } } //mainはがんばれ
178 名前:デフォルトの名無しさん [2008/10/25(土) 17:10:31 ] 【 課題 】rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/441.txt (改行が入らず見づらくてすみません。) 【 形態 】1. Javaアプリケーション(main()で開始 【 GUI 】制限なし 【 期限 】2008.10.27 12:00希望 【 Ver 】1.6.0_07 初心者で歯が立たないためよろしくお願いします。
179 名前:デフォルトの名無しさん mailto:sage [2008/10/25(土) 20:32:39 ] >>178 面白そうなんだが、定義がいまひとつよくわからない。 2,5の同等とか、3の週末の定義とか
180 名前:デフォルトの名無しさん [2008/10/25(土) 20:57:10 ] >>179 反応ありがとうございます。以下補足します。 (1)同等->基本的に同じ数にしたいが、同じ数に出来ない場合は、 アルバイト生間の差が1ということだと思います。あるアルバイト生が週末に 全部で3回働くとしたら、他の全てのアルバイト生も3回(もしくは4回) 働くように割り当てるということだと思います。この同等の意味は1、2、5 で共通です。 (2)週末->土日です。
181 名前:デフォルトの名無しさん mailto:sage [2008/10/25(土) 22:54:33 ] >>180 期間が一日だとどうなる?
182 名前:デフォルトの名無しさん mailto:sage [2008/10/25(土) 22:56:29 ] >>181 すまん、あほだった。 前言撤回。
183 名前:デフォルトの名無しさん mailto:sage [2008/10/26(日) 02:33:59 ] (4)の三つのグループってのはi=3に対応してるってこと?それとも固定?
184 名前:デフォルトの名無しさん [2008/10/26(日) 05:38:26 ] >>183 i=3ではありません。たまたま例文の実行コマンドは1タームあたりのアルバイト生が 3になっておりますが、s, t, i, dは全て自由に入力していいのでiは何でもありです。 仮にiが5人だとすると、2人はAに、2人はBに、1人はCに振り分けられるという事 だと思います。
185 名前:デフォルトの名無しさん [2008/10/26(日) 11:39:51 ] コンソールからファイルを引数として渡すと、そのファイルのパーミッションと ディレクトリ種別などを取得するようにしたいです。→(-rwxr--r--) 以下のコードで、st_modeを8進数で表示してみたところ int main(int argc, char *argv[]){ struct stat abc; if(stat(argv[1], &abc)==-1){ perror("stat"); exit(EXIT_SUCCESS); } printf("%o\n", abc.st_mode); } パーミッション644のファイルが「100644」と表示されます。 ここから-rw-r--r--と表示するように実装するにはどのように書けばよいか 教えて下さい。宜しくお願いします。
186 名前:デフォルトの名無しさん [2008/10/26(日) 11:44:29 ] >>185 間違えました。C言語の方に書き込むべきところ、 こっちに書き込んじゃいました。上記撤回です。
187 名前:デフォルトの名無しさん mailto:sage [2008/10/26(日) 11:49:50 ] >>184 183ではないが、 (4)は全体の処理の前に(「最初に」)sを3つに分けろっていうんじゃないのか。 「同じグループの人は同じタームでは働かない。」っていうのは、 まず S を A,B,C に分けて、その中から各タームにグループから最大1人、つまり 1<=i<=3 になる(だからiは1〜3を指定しければならない)ってことかと思ったんだが。
188 名前:デフォルトの名無しさん mailto:sage [2008/10/26(日) 12:13:57 ] >>187 >>184 ・初期値 s=4 t=1 i=3 d=3 ・グループ分け groupA=s1,s4 groupB=s2 groupC=s3 ・スケジュール day1. t1=s1,s2,s3 //就業日数 s1=1,s2=1,s3=1,s4=0 day2. t1=s4,s2,s3 //就業日数 s1=1,s2=2,s3=2,s4=1 day3. t1=s1,s2,s3 //就業日数 s1=2,s2=3,s3=3,s4=1 ※日数が同等(差が1以下)では無くなった どーするよw
189 名前:デフォルトの名無しさん [2008/10/26(日) 13:45:27 ] >>187 あまり的確に質問に答えられていなくて申し訳ありません。ご指摘の通り、 「同じグループの人は同じタームでは働かない。」と言っている以上、 1<=i<=3を指定しなければならないのだと思われます。失礼しました。 >>188 ご指摘頂いた例の中では、三日目をs1, s4, s2(もしくはs3)のアルバイト生の 組み合わせにすると、就業日数はs1=2回、s4=2回、s2=3回、s3=2回 (もしくはs1=2回、s4=2回、s2=2回、s3=3回)となるように思うのですが、如何 でしょうか。
190 名前:デフォルトの名無しさん [2008/10/27(月) 10:18:58 ] すみません。今ってどなたかやってくれてたりします?
191 名前:デフォルトの名無しさん [2008/10/27(月) 12:44:08 ] こういうのってどっか個人で1万円くらいでやってるところあるんでしょうか? あったら教えて下さい。
192 名前:デフォルトの名無しさん [2008/10/27(月) 13:18:41 ] 以前バイナリーツリーでお世話になった者です。 【 課題 】ArrayをベースとしているBinaryHeap(最小・二分ヒープ)をツリーベースのヒープに作りかえる。新しくコーディングするツリーベースのヒープにはNodeを挿入、削除(ヒープでの削除は常にルートを指す)のinsertとremoveの二点が必要になります。 【 形態 】1. Javaアプリケーション(main()で開始) 【 GUI 】4. 制限なし 【 期限 】11月1日、11pm 【 Ver 】1.6.0_07 【 用語 】 最小・ヒープの簡易説明。 ja.wikipedia.org/wiki/%E3%83%92%E3%83%BC%E3%83%97 最小ヒープでのノード挿入 www51.tok2.com/home/rg550/cgi-bin/hosoku/img0016.jpg 最小ヒープでのノード削除 www51.tok2.com/home/rg550/cgi-bin/hosoku/img0017.jpg 【 補足 】 arrayをベースとしたHeapのコードとバイナリーツリーはこちらです。 BinaryHeap-Arrayベース rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/443.java 普通のバイナリーツリー(参考として) rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/442.java どうぞよろしくお願いいたします。
193 名前:デフォルトの名無しさん mailto:sage [2008/10/27(月) 13:24:43 ] 【 課題 】ttp://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/444.txt 【 形態 】3. Servlet 【 GUI 】4. 制限なし 【 期限 】10/27 【 Ver 】1.5.0_03 【 補足 】課題の説明書きがわかりづらく申し訳ありません ttp://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/445.zip 上記のサンプルの様に表示させる事ができればOKのようです。 全くの初心者で困っています。分かる方宜しくお願いします。
194 名前:デフォルトの名無しさん mailto:sage [2008/10/27(月) 14:51:15 ] 全くの初心者にこんな課題をさせるとか先生はどれだけ授業を怠慢してるんだ そんな給料泥棒はさっさと辞めさせてしまえよw
195 名前:デフォルトの名無しさん mailto:sage [2008/10/27(月) 16:51:27 ] >>191 mixi
196 名前:デフォルトの名無しさん [2008/10/27(月) 17:59:13 ] 【 課題 】Web対戦オセロゲームの作成 【 形態 】3. Servlet 【 GUI 】4. 制限なし 【 期限 】10月31日 【 Ver 】1.6.0_07 【 補足 】149で質問した者ですが、ブラウザに盤と駒を表示して 駒を打てる所まで作りたいのですがjavaは殆どやった事が無いのでよく分かりません。 丸投げで申し訳ありませんが、分かる方宜しくお願い致します。
197 名前:デフォルトの名無しさん mailto:sage [2008/10/27(月) 22:19:13 ] java初心者にそんなもの作らせるとか鬼畜すぐる
198 名前:193 mailto:sage [2008/10/28(火) 15:44:05 ] 丸投げで申し訳ないのですが、 分かる方お願いできませんでしょうか。
199 名前:193 mailto:sage [2008/10/28(火) 17:59:07 ] 何とか無事に完成させる事ができました。 スレ汚しすいませんでした。
200 名前:デフォルトの名無しさん mailto:sage [2008/10/29(水) 00:45:50 ] 【 課題 】写真の16階調のRGBヒストグラムを作成、表示するプログラム 詳しくはrg550.hp.infoseek.co.jp/cgi-bin/joyful/img/446.txt 既に目的の動作をするプログラムはできているのですが、 もう少し手直ししたいのにうまくいかないため質問します 【 形態 】1. Javaアプリケーション(main()で開始) 【 GUI 】4. 制限なし 【 期限 】10月29日本日午前10時ごろまで 【 Ver 】Eclipseで作っているためEclipse3.2で動けば大丈夫です 【 補足 】 現状でできているプログラムソースは↓のとおり。 rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/447.txt 学内PCのEclipse3.2、自宅PCのEclipse3.4どちらでも問題なく実行しました。 これをできれば次のように組みなおしたいと思っています。 1:checkRGBメソッドをmainメソッドから呼ぶ形でなく、mainメソッド内で同様の操作をするように 2:actionPerformedで3パターン(Enterキー押された・Openボタンクリック・Startボタンクリック) の動作を全て記述しているのを各JTextField・ボタンごとに動作を記述するようにしたい 3:可能であれば一部を他のクラスを定義してそちらに分割したい (例:Startボタンがクリックされたときの動作を、checkRGBクラスでない 他のクラスのメソッドとして記述し、そのメソッドを呼ぶ) プログラムの手直し的な質問になります。時間が短いですがよろしくお願いします。
201 名前:デフォルトの名無しさん mailto:sage [2008/10/29(水) 01:00:17 ] >>200 Canvas クラスがフレームを作成するとかおかしいだろ…常識的に考えて。 フレームを拡張クラスを作成してそのクラスが checkRGB のインスタンスを作成するようにする。 画像からヒストグラムを作成する部分はメソッドとして抽出して良い。 int[][] を返すかもしくはヒストグラムクラスを作成する。 質問と関係ないけどクラス名 checkRGB はやめたほうがいい。
202 名前:デフォルトの名無しさん mailto:sage [2008/10/29(水) 06:31:25 ] 遊びに来てね! Javaゲーム作成総合スレ pc11.2ch.net/test/read.cgi/gamedev/1225185820/
203 名前:デフォルトの名無しさん mailto:sage [2008/10/29(水) 10:40:46 ] 【 課題 】RacingCarクラスを参考に、 以下の性質(変数)と機能(メソッド)をもつCarクラスのサブクラスTaxiクラスを作成し, オブジェクトを生成して確認せよ。(Report4.java) 走行距離を表す整数型フィールド mileage 走行距離を設定するメソッド setMileage() 走行距離を取り出すメソッド getMileage() 現在の状態を表示するメソッド show() (発展: 余力のある人)タクシー運賃を計算するメソッドcalcFare()の作成 (例 初乗り2km 660円, 273mまでごと 80円加算) 【 形態 】1. Javaアプリケーション(main()で開始 【 GUI 】4. 制限なし 【 期限 】11月10日 (月) 12:30 【 Ver 】1.6.0_07 【 補足 】丸投げです。宜しくお願いします。
204 名前:デフォルトの名無しさん mailto:sage [2008/10/29(水) 12:49:36 ] >>203 >>1 を参考に、RacingCarクラスとCarクラスを提示せよ。
205 名前:デフォルトの名無しさん mailto:sage [2008/10/29(水) 15:11:40 ] 【 課題 】ttp://www1.axfc.net/uploader/File/so/12980 【 形態 】1. Javaアプリケーション(main()で開始) 【 GUI 】4. 制限なし 【 期限 】10/30 AM10:00 【 Ver 】1.6.0_07 【 補足 】カレンダーを出力するプログラムを作ったのですが、入力時に数字以外を入れるとエラーが出ます。
206 名前:205 [2008/10/29(水) 15:12:48 ] すいません、補足の途中で書き込んでしまいました。 このエラーを認識して、エラー表示するにはどうしたらいいでしょうか?
207 名前:デフォルトの名無しさん mailto:sage [2008/10/29(水) 16:12:33 ] try .. catch
208 名前:デフォルトの名無しさん [2008/10/29(水) 17:03:06 ] try catchでググって試したんですが、どうもまくいきません。 どこにどう記述すればいいんでしょうか?
209 名前:デフォルトの名無しさん mailto:sage [2008/10/29(水) 17:23:28 ] >>208 try{ //エラーが出る可能性がある部分 } catch(Exception e){ //エラーが出たときの処理 }
210 名前:デフォルトの名無しさん mailto:sage [2008/10/29(水) 17:44:30 ] >>208 あのさ System.out.println("カレンダーを出力したい年数を入力して下さい。"); int year = Integer.parseInt(br.readLine()); if (year < 1753) { System.out.println("Franklinの公式の範囲外なので、1753年以降で入力し直して下さい。"); br.readLine(); } //以下カレンダーを出力する処理 だと、最初に200 次に1900とか入れると200年のカレンダーがでてくるけど? 自分なら System.out.println("カレンダーを出力したい年数を入力して下さい。"); int year=-1; while(true){ try { year=Integer.parseInt(br.readLine()); } catch (NumberFormatException e) { System.out.println("数字を入れてください"); continue; } catch (IOException e) { e.printStackTrace(); System.exit(1); } if(year>=1753){ break; }else{ System.out.println("Franklinの公式の範囲外なので、1753年以降で入力し直して下さい。"); } }
211 名前:デフォルトの名無しさん [2008/10/29(水) 23:16:28 ] 下記のファイルを以下のように改変したいのですが、どなたかお願いします。 rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/448.java (1)クラスをSchedule, Shift, Workerに分ける。 (2)Workerを順番でなくてランダムに振る。
212 名前:デフォルトの名無しさん mailto:sage [2008/10/29(水) 23:58:15 ] >>211 >>1
213 名前:デフォルトの名無しさん [2008/10/30(木) 00:11:56 ] >>212 【 課題 】rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/441.txt 【 形態 】1. Javaアプリケーション(main()で開始 【 GUI 】制限なし 【 期限 】2008.10.30 【 Ver 】1.6.0_07 オブジェクト指向の考えがわからずとりあえずクラスなしで作ってみたのですが、 ここからSchedule, Shift, Workerのクラスに分けてWorkerをランダムに振る ようにしたいです。宜しくお願いします。
214 名前:デフォルトの名無しさん mailto:sage [2008/10/30(木) 01:53:53 ] >>178 ,211,213 同系列なら名前に最初のレス番を >>178 ,213を続けて丸投げなのか、213のソースを改良するのかどっち? 213のソースを無理やりクラスに分けるとするとほとんど作り直しなきがするし、 やっても>>211 の課題の答えにはならないよね? extra dutyって何さ?仮にcleanupのことだとしたらcleanup担当者とか週末担当者は最初に決めるほうが楽だとおもうけど 1、適当に組んでいってスケジュール組めなくなったら、エラーだして諦める 2、総当りかなにかでスケジュールが本当に組めないことを示す 1か2どっちか明示すべき
215 名前:デフォルトの名無しさん [2008/10/30(木) 01:55:13 ] >>209 >>210 ご丁寧にありがとうございます!
216 名前:214 mailto:sage [2008/10/30(木) 01:56:11 ] 誤 >>211 の課題の答えにはならないよね? 正 >>213 の課題の答えにはならないよね?
217 名前:214 mailto:sage [2008/10/30(木) 02:01:32 ] 正 >>178 ,213を続けて丸投げなのか、211のソースを改良するのかどっち? 211のソースを無理やりクラスに分けるとするとほとんど作り直しなきがするし、 やっても>>213 の課題の答えにはならないよね? ミス連発
218 名前:178 [2008/10/30(木) 02:14:57 ] >>217 214のソースを改良したいです。 extra dutyはclean upのことです。1です。
219 名前:218 [2008/10/30(木) 02:15:55 ] 1、適当に組んでいってスケジュール組めなくなったら、エラーだして諦める
220 名前:デフォルトの名無しさん mailto:sage [2008/10/30(木) 02:50:47 ] >>218 211のソースだよね? 211のソース動かすとcleanupするWorkerが偏るよね? Workerをランダムに振り分けて解決するつもり?たぶん無理かと α:211のソースだけ見て213の仕様無視って (1)クラスをSchedule, Shift, Workerに分ける。 (2)Workerを順番でなくてランダムに振る。 β:213の仕様を満たして211は参考程度にする αかβかどっち?
221 名前:デフォルトの名無しさん [2008/10/30(木) 03:34:32 ] βです。クラスの概念がよくわかっていないのでどのくらい作り直しなのか わかりませんが、最終的に満たしたい仕様は213です。211はとりあえず 作ってみたものの手続き型なのでクラスがないのとランダムに振れていないの でここにもう一度書かせて頂きました。(変数名をちょっと変えてしまった為 にわかりづらくなってしまいましたが変数名は先程「今のソース(211)を 改良したい、と書いたのは変数名を211に統一したいといったレベルです。 しかし満たしたい仕様は結局213です。わかりづらくてすみませんがクリア になりましたでしょうか。)
222 名前:デフォルトの名無しさん mailto:sage [2008/10/30(木) 03:42:16 ] >>213 シラバスある?そこから推察したほうがはやいと思うから
223 名前:デフォルトの名無しさん [2008/10/30(木) 03:57:21 ] >>222 すみません。ないです。(あと日本の学校ではないです。) 訳が不自然だったとしたらすみません
224 名前:デフォルトの名無しさん [2008/10/30(木) 05:26:28 ] >>223 英語読めるから大丈夫だよ。
225 名前:デフォルトの名無しさん [2008/10/30(木) 06:22:02 ] >>223 ありがとうございます。 その前に、もう一度「やさしいJava」を片手に挑戦してみます。 わからないところがあればそのとき聞くようにします。各クラスにどのような フィールドとかメソッドを持たせばいいのか、またメイン側には何を記述すれば いいか、設計方針の概要みたいなヒントをもらえると助かります。 Cをかじった程度で、クラスをどのように使えばいいのか全く想像がつかないので。。
226 名前:175 mailto:sage [2008/10/30(木) 12:08:23 ] どなたかお願いできないでしょうか?
227 名前:デフォルトの名無しさん mailto:sage [2008/10/30(木) 20:43:55 ] 【 課題 】 テキストのRacingCarクラスを参考に、 以下の性質(変数)と機能(メソッド)をもつCarクラスのサブクラスTaxiクラスを作成し, オブジェクトを生成して確認せよ。(Report4.java) ・走行距離を表す整数型フィールド mileage ・走行距離を設定するメソッド setMileage() ・走行距離を取り出すメソッド getMileage() ・現在の状態を表示するメソッド show() ・(発展: 余力のある人)タクシー運賃を計算するメソッドcalcFare()の作成 (例 初乗り2km 660円, 273mまでごと 80円加算) 【 形態 】1. Javaアプリケーション(main()で開始 【 GUI 】4. 制限なし 【 期限 】11月10日 (月) 12:30 【 Ver 】1.6.0_07
228 名前:デフォルトの名無しさん mailto:sage [2008/10/30(木) 20:53:46 ] >>227 の続き 【 補足 】 テキストのRacingCarクラスとCarクラスは rg550.hp.infoseek.co.jp/cgi-bin/joyful/main.htm の449.javaになります。
229 名前:デフォルトの名無しさん mailto:sage [2008/10/31(金) 00:28:53 ] >>227 public class Report4 { public static void main(String[] args) { Taxi t=new Taxi(); t.setCar(10,10.5); t.setMileage(5000); t.show(); System.out.println(t.calcFare()+"円"); } } class Taxi extends Car{ int mileage; public int getMileage() { return mileage; } public void setMileage(int mileage) { this.mileage = mileage; } @Override public void show() { super.show(); System.out.println("走行距離は" + mileage + "mです。"); } public int calcFare(){ return mileage<=2000?660:(mileage-2000)/273*80+660;//3項演算子 } }
230 名前:デフォルトの名無しさん mailto:sage [2008/10/31(金) 00:45:43 ] >>175 とりあえず自分の解答あげたら解答もらいやすいかも プログラム作る宿題で他人の分かりにくいソースを直すのとは違うから
231 名前:デフォルトの名無しさん mailto:sage [2008/10/31(金) 05:23:50 ] >>229 迅速に回答いただき有難うございます! 助かりました。
232 名前:157 mailto:sage [2008/11/01(土) 17:24:02 ] >>157 お願いできませんでしょうか?
233 名前:デフォルトの名無しさん mailto:sage [2008/11/01(土) 18:05:18 ] 【課題】名前・身長・体重をメンバとしてもつHumanクラスを作成し(問題39),そのクラスを継承しStudentクラスを設計・作成しなさい。 【形態】1.Javaアプリケーション 【GUI】4.制限なし 【期限】11/05 【Ver】java version゙1.6.0-oem゙ 【補足】メンバには全て,privateおよびpublicを付けること。
234 名前:デフォルトの名無しさん mailto:sage [2008/11/01(土) 18:27:34 ] >>233 問題39って何さ。
235 名前:デフォルトの名無しさん mailto:sage [2008/11/01(土) 18:33:34 ] ワロタww >>232 期限過ぎてんじゃん
236 名前:デフォルトの名無しさん mailto:sage [2008/11/01(土) 18:39:25 ] >>232 rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/450.java なんでわざわざパスで保存するのかわからないけどとりあえずやったよ
237 名前:デフォルトの名無しさん mailto:sage [2008/11/01(土) 18:43:03 ] >>233 rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/451.java 適当にこんな感じでやっときゃいんじゃね?w
238 名前:デフォルトの名無しさん mailto:sage [2008/11/01(土) 18:51:28 ] >>232 rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/452.java あんまし読んでなかったー 修正。
239 名前:デフォルトの名無しさん mailto:sage [2008/11/02(日) 15:46:47 ] 【課題】Animalクラスを作成し,そのクラスを継承しBullクラスとDogクラスを設計・作成しなさい。 【形態】1.Javaアプリケーション 【GUI】4.制限なし 【期限】11/10 【Ver】java version1.6.0_07 【補足】メンバには全て,privateおよびpublicを付けること 画面に鳴き声を出すメソッドは必ず実装する事 よろしくお願いします
240 名前:デフォルトの名無しさん mailto:sage [2008/11/02(日) 17:05:23 ] >>239 public abstract class Animal { public abstract void 鳴く(); } public class Bull extends Animal { @Override public void 鳴く() { System.out.println("モーモー"); } } public class Dog extends Animal { @Override public void 鳴く() { System.out.println("ワンワン"); } }
241 名前:デフォルトの名無しさん mailto:sage [2008/11/02(日) 18:14:45 ] ちゅ…ちゅごい できました ありがとうございます
242 名前:デフォルトの名無しさん mailto:sage [2008/11/02(日) 22:24:52 ] 画面に鳴き声を出すメソッドで相当迷った自分はアホですか?
243 名前:デフォルトの名無しさん mailto:sage [2008/11/02(日) 22:28:46 ] アホというか勉強不足
244 名前:デフォルトの名無しさん mailto:sage [2008/11/02(日) 22:30:15 ] 最終的に出来ればアホでは無い
245 名前:デフォルトの名無しさん mailto:sage [2008/11/02(日) 23:04:14 ] >>242 の言ってるのは音声出力しようとしたとかそういうことではなくて?
246 名前:242 mailto:sage [2008/11/02(日) 23:13:29 ] そそw 液晶から音がでる機器あったなぁとか考えてた それだと「画面から」になるからスピーカーを液晶に向ければいいのかと考えつつ、結局主語しだいで両方有だと結論付けてた
247 名前:デフォルトの名無しさん mailto:sage [2008/11/02(日) 23:16:55 ] > メンバには全て,privateおよびpublicを付けること privateとpublicを同時に付けられる訳ないだろってツッコミは無し?
248 名前:242 mailto:sage [2008/11/03(月) 00:05:39 ] アリじゃね? 見た時点で気づいてはいたけど、言葉尻とりすぎかなと思って>>242 だけ書いたよん new Hoge("Animalクラス").継承(); new Hoge("Bullクラス").設計();
249 名前:デフォルトの名無しさん [2008/11/04(火) 21:26:23 ] 【 課題 】Scannerクラスを用いて、対話的にデータ(文字列)を操作するプログラムを 作成せよ。ただし、操作内容は以下の内容とする。 検索 追加 削除 すべて出力 【 形態 】1. Javaアプリケーション(main()で開始 【 GUI 】4. 制限なし 【 期限 】11月6日 【 Ver 】java version1.6.0_07 【 補足 】コマンドを与えて(search abなど)データを操作するそうなのですが next()かnextLine()のどちらのメソッドを使えばよいのかわかりません。 よろしくお願いします
250 名前:デフォルトの名無しさん mailto:sage [2008/11/04(火) 21:53:16 ] >>249 課題を完全に書け。 コマンドに関する仕様とか問題文に書かれてるだろ。
251 名前:デフォルトの名無しさん mailto:sage [2008/11/04(火) 21:53:51 ] for (int i = 0; i <= 1000; i++) if(i % 2 != 0) System.out.println(i); これはどの様な処理をしてるんですか? for (int i = 0; i <= 1000; i++) ここまでは何となく分かるんですけど、 if(i % 2 != 0)が微妙に分かりません。
252 名前:デフォルトの名無しさん mailto:sage [2008/11/04(火) 21:56:25 ] >>251 質問スレから誘導されたのは知ってるが 宿題スレには宿題スレのルールってものがあるから まずそれに従うべし というかその内容の質問なら誘導元のスレの方が適切じゃないか?