★★ Java の宿題ここで答えます Part 62 ★★
【質問者へ】
回答者の便宜のため、以下の注意事項を遵守してください。
・質問は【課題提示用テンプレ】を利用してください。
・問題文は、出題されたまま全文を書いてください。
・数学問題は「○×法でせよ」だけでなく、その数式、前提条件も説明してください。
・JavaScriptは板違い、Web制作板をご利用ください。
・エラーは、その詳細と発生した行を書きましょう。エラーメッセージはコピペしてください。
・後から問題に付け足しするのはやめましょう。付け足しは作業を無駄にしがちです。
・回答されたら動作報告を必ずしてください。
【課題提示用テンプレ】
【 課題 】与えられた課題文をそのまま書きます。 《必須》
【 形態 】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
http://www.wikiroom.com/java/ ソースポストネット
http://sourcepost.sytes.net/ 【前スレ】
http://pc11.2ch.net/test/read.cgi/tech/1179168569/
ずるしてらくしてかれいに2げっとかしらかしら〜
4ね
5 :
デフォルトの名無しさん:2007/07/16(月) 19:11:45
【 課題 】文字列を複数の単語で分割するメソッドを作成する
multiSplit(String word, String[] div) という風に
文字列word と文字列配列div を引数とし、
文字列word を文字列配列div の各文字列で分割した文字列配列を返す。
(splitメソッドで複数の正規表現を指定できるみたいなもの)
【 形態 】1. Javaアプリケーション(main()で開始)
【 GUI 】4. 制限なし
【 期限 】7月17日 14:00まで
【 Ver 】1.5.0_06
【 補足 】
メソッドはこれ以外に複数になってもよく、
最終的に、分割した文字列配列を返せばよい。
よろしくお願いします。
>5
メソッド部分だけどうぞ(=ω=.)
String[] multiSplit(String word, String[] div) {
return word.split(createRegex(div));
}
String createRegex(String[] div) {
if(div.length == 0) return "";
if(div.length == 1) return div[0];
StringBuffer regex = new StringBuffer();
for (int i = 0; i < div.length; i++) {
regex.append("(");
regex.append(div[i]);
regex.append(")");
regex.append("|");
}
regex.deleteCharAt(regex.length() - 1);
return regex.toString();
}
7 :
5:2007/07/16(月) 19:50:43
>>6 ありがとうございます(m;_ _)mペコ
前スレにも投下したんですけど、よろしくおねがいします。
【 課題 】
Vectorクラスを継承して、Bag、Set、OrderedSetクラスを実装せよ。BagクラスはVectorクラスの、SetクラスはBagクラスの、OrderedSetクラスはSetクラスの、各々サブクラスとする。
Bagクラス等の中に入る要素の型はStringクラスのインスタンスとする。
各クラスでは次のメソッドが利用可能である事、即ち次のメソッドのみが外部から利用可能である事。
private、protected、publicの区別をきちんと行う事。
必要最小限のメソッドの再定義により実装せよ
* Constructor:引数なし
* void adde(element):要素の追加:重畳定義するために名前をaddeとしました
* boolean search(element):要素の存在の有無を調べる
* void delete(element):要素を消去する
* void:print():全ての要素をプリントする
* String first():最初の要素を取り出す。OrderedSet以外の場合は、何を出すかは実装に依存で良い.OrderedSetの場合は最初に順序づけられた要素を返す
* boolean isNext():次の要素があるかどうかを調べる。firstを実行していない場合もfalseになる
* String next():isNextが真である事を前提として、次の要素を返す各クラスについて、次の様な実行系列を実行せよ
1. 初期化
2. 次の文字列群の、この順序での追加:strawberry, orange, melon, watermelon, lemon, tomato, melon, apple, tomato, melon, apple
3. 次の文字列の、この順序での消去:melon, apple, tomato
4. first, nextを使って順番に要素を取り出し、要素をプリントする
【 形態 】1. Javaアプリケーション
【 期限 】木曜までにお願いします。
【 Ver 】java version "1.4.2_12"
【 補足 】
Bagとは重複を許す集合、Setは重複を許さない集合、OrderedSetとは順序づけて格納されている重複を許さない集合である。
例えばorange, lemon, tomato, melon, apple, strawberry, tomato, melonをそのようなデータ表現として格納したとする。
すると、次の様になる
* Bag:orange(1), lemon(1), tomato(2), melon(2), apple(1), strawberry(1
* Set:orange, lemon, tomato, melon, apple, strawberry
* OrderedSet:apple, lemon, melon, strawberry, tomato
OrderedSetについては、辞書的順序とした。
OrderedSetの場合は、どの様な順序で挿入したとしても、順番に取り出す場合の順序はこの辞書的順序になることが要求される。
一方、BagやSetの場合はそのような条件はない。
即ちどの様な順序でも良いし、場合によって異なった順序で取り出せても構わない。
またBagの場合、tomato(2)の様に表記したが、もちろんtomato, tomatoという表記でも構わない。
2個含まれいる訳であるから、削除も2個ともしたい場合は2回行う必要がある。
>>8-9 これやってるんだけど、noobの俺は最後のソートで詰まった(´ε`;)ウーン…
Vecor#toArrayしてArraysのsortをclear()したVectorに書けばいいかなと思ったけど、CastException(´・ω・`)アッー
>Vecor#toArrayしてArraysのsortをclear()した
>Vectorに書けばいいかなと思ったけど、CastException(´・ω・`)アッー
何か、意味不明なので書き直し
Vector#toArrayしてArraysのsort()使ってソートしてVector#clear()してから
もう一度Vectorにadd()すればいいかなと思っけど、CastException(´・ω・`)
>>12 なんでCollections#sortで直接Vectorをソートせえへんの?
class Manager extends Employee{
private int numberofManaging;
Manager(String n, int i, int s, int m) {
super(n,i,s);
numberofManaging=m;
}
void print() {
super.print();
System.out.print(" Number of Managing :"+numberofManaging);
}
}
>>14 あと、そのままではHrはコンパイルできないから直せ
yamada.print(); System.out.println();
tanaka.print(); System.out.println();
suzuki.print(); System.out.println();
uchida.print(); System.out.println();
Employeeの引数が全部"YAMADA"なのもおかしいな
18 :
デフォルトの名無しさん:2007/07/18(水) 22:01:50
山田君は一人ではないと解れ。IDちがうだろw
Employeeのprint()の"ID:"と"Salary:"の先頭にスペースを入れたほうがいいな
全部くっついて表示される
唯一の山田君キタ━━━━━━(゚∀゚)━━━━━━ !!
ありがとうございます。
【 課題 】以下の図形を描くアプレットを作成せよ。
直線(drawLine),四角形(drawRect),楕円(drawOval)
※これらのメソッドはいずれも4つの引数をとる。
ただし,これらの図形の元となるクラスを作成し,それを
継承してポリモルフィズムにより上記の図形を描き分ける
工夫をすること。
※図形の描画位置・サイズ等は任意かつ固定で良い。
【 形態 】Applet
【 期限 】2007/07/22
【 Ver 】1.6.0_01
【 補足 】丸投げです。
よろしくお願いいたします。m(_ _)m
ポリモルフィズムってなんだろ(=ω=.)
>>17 それより社員がprint()メソッド持ってる典型的なOOP出来てないサンプルコードに突っ込んだ方が・・・。
山田君が持つべきは(座布団を)持ってくる・持っていくメソッドだ!
>>24 少数派だがそう呼ぶ時もあるよ。
それより、まったく同じ課題を大分前に見たぞ。
自力で実装しなきゃいけないのかって話になった。
>>26 似たようなのが最近、前スレにあったぞ。
依頼者は自力で書こうとして見当外れのプログラムになって依頼してきたけど、
結局ヒントが与えられたら自力で書けたっぽい。
前スレ落ちたか
>>23 /* <applet code="App.class" width="100" height="100"></applet> */
import java.awt.Graphics;
public class App extends java.applet.Applet {
private Zukei[] zukei = {new Sen(), new Shikaku(), new Daen()};
public void paint(Graphics g) { for (Zukei z : zukei) z.drawNanchara(g); }
}
abstract class Zukei { public abstract void drawNanchara(Graphics g); }
class Sen extends Zukei { public void drawNanchara(Graphics g) { g.drawLine(10, 20, 30, 40); } }
class Shikaku extends Zukei { public void drawNanchara(Graphics g) { g.drawRect(30, 20, 40, 20); } }
class Daen extends Zukei { public void drawNanchara(Graphics g) { g.drawOval(0, 10, 40, 15); } }
もし違う座標とかに描きたいとかなら
private Zukei[] zukei = {new Sen(10, 20, 30, 40), new Shikaku(), new Daen(), new Sen(40, 30, 70, 10) };
class Sen extends Zukei { private int a, b, c, d; public Sen(int e, int f, int g, int h) { a = e; b = f; c = g; d = h; }
public void drawNanchara(Graphics g) { g.drawLine(a, b, c, d); } }
みたく
そう言う意味だったのか>問題文
4つの引数を取るdrawLine、drawRect、drawOvalをBaseにして、描画クラスを実装しろって事かと思った。
32 :
23:2007/07/19(木) 02:29:23
>>29 レスありがとうございます。
無事実行できました。
前スレ見て考えていたんですが、結局分からずじまいだったので、とても参考になりました。
ありがとうございました。m(_ _)m
【 課題 】基本的なコードをいくつか書いてコンパイルする
public class HelloWorld
{
public static void main (String[] args)
{
System.out.println("Hello Java World!");
}
}
【 形態 】1. Javaアプリケーション(main()で開始)
【 期限 】7月20日まで
【 Ver 】java version "1.6.0_02"
Java(TM) SE Runtime Environment (build 1.6.0_02-b06)
Java HotSpot(TM) Client VM (build 1.6.0_02-b06, mixed mode, sharing)
【 補足 】 何故かweb製作系なのにこんな宿題が・・・・・・。とりあえず一日使って検索したところ
使っている環境によっては仮想マシンが動かないことがあるとか書いてあるページがあったのですが。
コンパイルしようとしても
C:\J-samples>java -javac test1.java
Unrecognized option: -javac
Could not create the Java virtual machine.
となります。jviewで調べても入っているようですし。パスもしっかり../binまで設定しています。
osは2000sp4でsocket939メモリは512です。
メモリの割り当て関係かなと思ったのですが-Xmxとかイマイチわかりません。
とにかくコンパイルできれば完成すると思います。
何かスレ違いな気がしてきましたが切羽つまり困っており余裕がありません。
よろしくお願いします。_| ̄|○
35 :
デフォルトの名無しさん:2007/07/19(木) 16:12:17
【 課題 】ある自然数nを入力し、a^2+b^2=c^2(a≦b≦c)となるようなn以下の自然数a,b,cのすべての組み合わせと、
その個数を書き出すプログラムを作成せよ。
【 形態 】Javaアプリケーション(main()で開始)
【 期限 】月曜日(7/23)まで
【 Ver 】1.6.0_01
【 用語 】数学用語、専門用語の意味、説明を書きます。 《あれば必須》
【 補足 】簡単過ぎる問題かもしれませんが、よろしくお願いします。
>>34 コンパイルは
>javac test1.java
実行は
>java test1
あとクラス名(ファイル名)は「Test1」みたいに大文字で始めるのが一般的
38 :
36:2007/07/19(木) 17:06:19
>>34 > java -javac test1.java
でコンパイルしようとしたきっかけを作った情報源が何だったのか知りたいな
JVMが動かないことがあるとか書いてあるページ?書籍?
>>34 >Unrecognized option: -javac
て書いてあるじゃん。意味を調べて開発ツールdoc嫁。
あと、エスパーするとjviewだのVMが動かないだの言ってるが
MS VMが1.3止まりでお話になりませんわ!
pure java騒動でJavaVM標準装備じゃなくなったぜゴルァ!!
って言われてた時代の話だな。
参考にしてる資料が古すぎると思う。
41 :
34:2007/07/19(木) 18:38:47
43 :
31:2007/07/19(木) 19:51:27
44 :
デフォルトの名無しさん:2007/07/19(木) 19:58:20
>36
ありがとうございます。
45 :
34:2007/07/19(木) 20:10:59
>Cドライブ以下全部を、”java”というファイルが無いか検索するよろし
ありがとうございます。
java javac共に../binの中にあり、またしっかりと指定し直しました(C:\Java\bin)
がやはり C:\J-samples>javac Test1.java だと通らず
C:\J-samples>>java -javac Test1.java
だと通っても画像のようになってしまいます。
>C:\J-samples>javac Test1.java だと通らず
これはおかしいな。
>C:\J-samples>>java -javac Test1.java だと通っても画像のようになってしまいます。
こっちは正常だな。
>java javac共に../binの中にあり、またしっかりと指定し直しました(C:\Java\bin)
../bin=C:\Java\binなわけ?
C:\Java\binにjavaとjavacの両方があるのは確認した?
それと、コマンドプロンプト(C:\J-samples>って表示されてる黒い画面)で set > A.txt
ってすると環境変数が書き込まれたA.txtってファイルができるからメモ帳とかでちゃんと設定できてるか確認できるよ
47 :
34:2007/07/19(木) 20:56:57
>>C:\J-samples>javac Test1.java だと通らず
>これはおかしいな。
私もそう思います。てっきりシェルに対しての書式自体が C:\J-samples>>java
のあと接尾語のように接続して書かなければダメかと思ったぐらいです。
ちなみに;C:\Java\bin です、binファイル内にjavaとjavac全部ありました
set>A.txtは知りませんでした早速試してみたのでパスのとこだけコピペしてみます。
Path=C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem
;"C:\Program Files\Norton SystemWorks\Norton Ghost\"
;C:\Program Files\QuickTime\QTSystem\;C:\Java\bin
pathにカレントディレクトリを追加してみ
カレントは.(ピリオド)ね
変ですねぇ
dir C:\Java\bin\javac.exe
とやってちゃんとファイル出てくる?
コマンドプロンプト立ち上げなおしてコンパイルしても駄目?
どーも話の流れからすると
C:\WINNT\system32\java.exe
しか実行されていないようにしか見えんのだが…
50 :
34:2007/07/19(木) 22:08:49
すいません、javac.exeが無くjavac.exeだと思っていたのはjavacpl.exeでした。
インストールミスったかな?
と思って再インストールしてみたのですけどもjavac.exeが無いのです。
これか、こいつが!!と思ったのですがjdk-6u2-windows-i586-p.exeを
公式から落としてきている以上パッケージなんだし足りないとかありえないよなぁ・・・・・・。
と思いつつチマチマいじってます。
javac がなくて javacpl.exe があるなら、見てるのは jre のディレクトリ。
本当に手順通りやってるんかな?
「判ってるつもり」でよく見てる気がする。
C:/java/以下にインストールするのは「開発ツール」。
「java(TM) SE Runtime...」じゃないよ。
参考サイトには画像まであるんだから、見比べれば間違いようが無いとは思うんだけどもね。
いつからここは初心者スレになったんだよ^w^;
javacplってGUIじゃなかったけ?
とりあえず、基本から。
JDKアンインスコ・path削除。
アンチウィルス停止、アーカイブDL、インストーラ起動、path通す、コンパイル&実行。
この順でやり直してだめならマシンがおかしい。
【 課題 】
次の様なアクセス制約を満たすクラス群を実現せよ(パッケージを利用する事)
* クラスA、クラスAを継承するクラスB、A、Bとは継承関係のないクラスC、A、B、Cのインスタンスを利用するクラスD
* クラスAはクラスA内でしかアクセスできない変数aを持つ
* クラスAはAおよびCでのみアクセスできる変数abを持つ
* クラスBはBでしかアクセスできない変数bを持つ
* クラスAはA、B、Cでのみアクセスできる変数cを持つ
* クラスCはどこかからでもアクセスできる変数cpを持つ
上記が実現できるようにクラスの配置を行い、それが実現されている事を示すプログラムをクラスD内で実現せよ
変数の型は何でも良い(上の「アクセスできる」とは、メソッドを経由してではなく、何らかのクラスインスタンスαを使ってα.cの様に利用できる事を言う)。
上記の制約を満たしている事を説明する事
【 形態 】1. Javaアプリケーション(main()で開始)
【 期限 】7月24日までにおねがいします。
【 Ver 】java version "1.4.2_12"
>>54 「★★ Java の宿題ここで答えます Part 57 ★★」の565近辺に回答
全く同じ問題だな
時期も去年の今頃だ
まあ、コードには違いないが、、、、
ギャグなのか・・・これでもくらえ
_________
|(=ω=.)| ∧_∧ |⊇
|(*‘ω‘ *)|(´∀` ) |⊇
 ̄ ̄ ̄ ̄⊂二二 ) ̄
Y 人
(( (_」 J ))
59を回答する人は出来ればプログラムから改行を削除して1行になった末尾に
// コードを出力するコード
という簡単な説明を入れてあげてください
それいいかも。いちいち説明書くのメンドクなってきたし
65 :
59:2007/07/21(土) 02:23:35
>>64 ありがとうございます、本当に助かりました。
前スレ938は他人の作ったものを自分のものにしちまった
そういや、ここはそういうスレだったな
まちがえました。
>>966さんでした;
すいませんでした…。
>>67 >>64のようなものが望みなんだったら負担が大きいと思わない?
漠然と分からないから説明しろっていうより、
的を絞ってここが分からないとか、
javadoc的なメソッドとフィールドの説明がほしいのか、
要望を具体化したほうが説明する人間も出てきやすいかもよ。
ドキュメンテーションはプログラミング作業の中では負荷の大きい作業だ。
>>70 ほんとに申し訳ないんですけど、わかる所がほんとにないってくらいわかってないので…。
負担が大きいことを承知でお願いしたいんです;
先生に聞けばいいんだヨ!!
先生に聞けは当然なんだがな
こいつらは2chとかネットがなかったらどうしたつもりなんだが・・・
「このプログラムを書いたんですがどういう動作しているんですか?教えてください」
とは出題した先生にはまず聞けないよな
【 課題 】ファイルに文章、書き込んだ日時を保存する。
1記事ごとに読み込みが出来るようにする。
【 形態 】Javaアプリケーション
【 GUI 】制限なし
【 期限 】7/23 AM00:00
【 Ver 】1.6.0_02
【 用語 】特になし
【 補足 】
イメージとしては2chに書き込んだものが
そのままファイルに保存される感じです。
どうかよろしくお願いしますm(_ _)m
>>75 初めて触れた分野で教本・サンプルコード主体で勉強していって
動くコードが書けたは良いが何やってるか分からんってのはよくあるから
別に聞くのはおかしなことじゃないだろ。
>>76 なにやるかさっぱりワカランw
本当に自分が勉強してそれを書いたかどうかは
間抜けな先生でもなければ質問の途中の受け答えで化けの皮が剥がれそうだけどな
>>77 ごめんなさい、書き方が悪かったのだろうか・・・。
簡単なスケジュール帳を作ろうとしていて、
ファイル操作のあたりがよく分からなかったので
>>76のような書き方をしたのですが・・・。
要は、ファイルに
スケジュール帳の内容と書き込み日時をひとまとめにして書き込んで
それを呼び出せる(?)ようにするということです。
80 :
デフォルトの名無しさん:2007/07/22(日) 20:16:21
ところで
a) Jim said he would like to ( ) the old woman home.
b) I'll ( ) to it that everything is ready for your departure.
a)とb)の()には同じ語が入るんだが
誰か答えわかる人いないか?
【 課題 】
国旗を表示するプログラム(日の丸、星条旗、ユニオンジャック等)を作れ。
指定された国旗を画面に表示する。少なくても8種類以上。
国旗の指定にはメニューとかボタンとかを表示して、選択させること。
【 形態 】1. Javaアプリケーション(main()で開始)
【 GUI 】4. 制限なし
【 期限 】7/25水曜日
【 Ver 】1.6.0_01
【 補足 】丸投げ
Jframeクラスを使っていただきたいです。
1カ国分作っていただきで後は拡張できるようにしていただけると幸いです。
よろしくお願いします。
蛇足ですが、簡単にイメージしたものを下の様に表してみました。
[・・・]//国名の表示されたボタン
---------------------------------------
[日本] [イタリア] [フランス] [ドイツ] [・・・]
┌─────────┐
│
│
│押したボタンの
│国旗表示スペース
│
└─────────┘
画像くらい用意してほしいところなんだが
84 :
82:2007/07/22(日) 21:48:10
【 課題 】問・ジャンケンゲーム
グー・チョキ・パーの3つのボタンを配置し、
どれかをクリックすると一定の確率で
勝ち・負け・あいこのいずれかを表示するアプレットを作製せよ。
【 形態 】2. Applet
【 GUI 】4. 制限なし
【 期限 】7/26(木)まで
【 Ver 】1.6.0_01
【 補足 】できれば、素人が作った感じに見えるようにして頂けるとありがたいです
よろしくお願いします
87 :
デフォルトの名無しさん:2007/07/23(月) 03:49:00
88 :
86:2007/07/23(月) 08:44:57
>>87 ありがとうございます
問題なく実行しました
【 課題 】
成績データを入力し、棒グラフとして表示するプログラムを作れ。
平均値、標準偏差、最頻値、中央値などもあわせて表示する。
【 形態 】1. Javaアプリケーション(main()で開始)
【 GUI 】4. 制限なし/
【 期限 】7/26(木曜日)
【 Ver 】1.6.0._01
【 用語 】特になし
【 補足 】丸投げ
学校の宿題で、素人が作った感じにしてもらえると幸いです。
90 :
内田保子:2007/07/23(月) 14:46:18
>>64番さん
すいません、ちょっとプログラム内容が難しすぎるのでもっと簡単なプログラムは作れないでしょうか?
実は去年単位(プログラミング)を落として単位認定としての課題ですので
あまり高度なものを提出するのは・・・無理なこと言っているかもしれませんが
よろしくお願いします
91 :
内田保子:2007/07/23(月) 14:48:43
ネタか?この程度のコードがわからんのによく学校通い続けれたな。
単位落とした方が良いよ。
逐一コメント付けてくれと言われたからコメントだらけなんだろうけど
実際に書くコードはあんなコードを反復した無駄コメントなんて書かないぞ。
あれなら一行づつトレースしながら意味を考えていけば分かるだろ。
具体的にどこが分からんか言った方が早い。
いや
>>64のソースヒドス、あんまりだ
いくらコメントを詳しくといっても作った奴のレベルが低すぎる
94 :
内田:2007/07/23(月) 16:48:17
いや、私はプログラマーではないからよくわかんないんですけど64番さんの作ったようなプログラムは
授業では習っていないんですよね;
>>92番さん
単位落としたほうがいいよっていわれても、もう落としているから単位認定試験を受けているわけですよね・・・
確かにプログラミングわかる人にとっては「この程度」かもしれないですが私にはとても難しく感じます。
まあ私は確かに頭悪いですけど。
>>94 マでなくても講義受けてんでしょ?
完全独学の趣味グラマの俺より良い環境にいて2chに丸投げするより、教師に聞いた方が良い。
>>94 絶対に自分で理解しようとはしない、これがゆとりか。
ゆとり教育を受けてない人って33歳以上なんだね
初期段階も含めたゆとり教育だと40代前半まで含まれるじゃなかったけ?