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

このエントリーをはてなブックマークに追加
【Java宿題スレッド基本ルール・五箇条の御誓文】
1:問題文は自己省略せずに、直接全部貼り付けてください。
2:課題の「丸投げ」が最も好ましい提示法です。なるべく丸投げしてください。
3:数学問題は「○×法でせよ」だけでなく、その数式、前提条件も説明してください。
4:課題&宿題関連の質問はOKですが、それ以外の一般的な質問は禁止です。
5:もし回答プログラムがアップされたら、その返答と動作報告をお願いします。

【課題提示用テンプレ】
【 課題 】与えられた課題文をそのまま書きます 《必須》
【 用語 】数学用語、専門用語の意味、説明を書きます 《あれば必須》
【 期限 】提出期限、解答希望日があれば書きます
【 Ver  】希望するJavaバージョンがあれば書きます
【 補足 】課題について自分なりに補足する事、何か思う事があれば書きます。
       丸投げでない場合は、途中までのソースとその経過報告、
       質問点、疑問点を書きます(なるべく丸投げにしてください)

【回答プログラムの掲載場所】
Java質問スレWiki  http://www.wikiroom.com/java/
ソースポストネット  http://sourcepost.sytes.net/

【前スレ】
http://pc8.2ch.net/test/read.cgi/tech/1145447187/
2デフォルトの名無しさん:2006/07/07(金) 15:32:30
3デフォルトの名無しさん:2006/07/07(金) 19:03:46
4前スレ972:2006/07/07(金) 22:53:25
>>3
ちゃんと動きました、ありがとうございます
5☆さぉり☆:2006/07/07(金) 22:54:31
すみません、JAVAのブロック崩しのプログラムがほしんです…
6デフォルトの名無しさん:2006/07/08(土) 02:23:27
>>5
ググれ
7デフォルトの名無しさん:2006/07/09(日) 01:24:22
テストに、JAVAの歴史と今後みたいなことを書くんですけど
どんなことを書けばいいのでしょうか?特に、今度ってのが困ります。
それと、JAVAの特長ってのも書くんですけどどのようなことをかけばいいんですか?
やっぱり、バイトコードとか、ハードに依存性があるとかですか?
8デフォルトの名無しさん:2006/07/09(日) 02:09:30
ぐぐったら山ほど出てくるでしょ
9デフォルトの名無しさん:2006/07/09(日) 02:19:58
>>7
他の言語と比べてみるとわかりやすいかも。
10デフォルトの名無しさん:2006/07/09(日) 03:58:43
11デフォルトの名無しさん:2006/07/09(日) 14:35:29
【 課題 】Pro3_0702Sample02.java
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=28036
を参考にして、以下の処理を行うアプレットを作成せよ。クラス名はPro3_0702とする。
Member.java
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=28035
を使用する。
・アプレット初期化時に2名の通常会員と1名のゴールド会員を作成する。
・3名の会員番号を追加したチョイスchと、文字を「表示」としたボタンbt、文字列を表示するラベルlbを作成し、アプレットに追加する。
・ボタンbtに、ボタンを押したことを受け取るリスナbtActionListenerを追加する。
・クラスbtActionListener中のメソッドactionPerformed(ActionEvent e)の中で、チョイスで選択した番号の会員情報(氏名、ポイント、会員種別)をラベルlbに表示する。

【 期限 】7月10日17:00まで
アプレットに関しては、教科書の範囲を越えているので各自で調べてくださいと言われましたが、さっぱりなのでお願いします。
12デフォルトの名無しさん:2006/07/09(日) 17:32:00
>>11
この問題、Memberクラスの設計おかしくないかな?
GoldMemberやNormalMemberをインスタンス化するにはMemberのインスタンスが
必要になるような気がする。内部クラスがstaticなら外部クラスの名前だけで
内部クラスをnewできるけど。この場合、GoldやNormalをMemberの内部クラスにする意味が
ないような気がするが。

とりあえず、Memberをabstractでなくして
さらにコンストラクタをprivateでなくしたMember
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=28039
を使って、アプレットクラスPro3_0702
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=28038
を作ってみた。
ついでに、アプレットを動かすためのhtml
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=28040
appletviewerでしか確認してないので注意。

今思いついたが、GoldMemberとNormalMemberをstaticな内部クラスにしたほうがよかったかも
まあ普段3行以上プログラムなんて書いたことないので、回答含めて全然勘違いかもしれんが
1312:2006/07/09(日) 17:55:49
やってみた。
Memberクラスのアクセス修飾はabstractのまま、コンストラクタもprivateのままで、
Memberの内部クラスGoldMemberとNormalMemberをstaticにしたMember.java
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=28041
を使うと、
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=28042
みたいに
こちらの方がすっきりな気がする

どちらにしても元のMemberクラスってabstractなのでどうせインスタンス作れないのに
コンストラクタをprivateと明示して書いてたり
無意味にサブクラスを内部クラスとしていたりちょっと微妙な感じがする
ここは普通にabstractなMemberを継承する外部クラスとしてGoldやNormalを作ればいいように思うが
1412:2006/07/09(日) 18:05:25
Member.javaをちょっと変更して実現してしまったのですごく気になるよ
本当はそのままでもできる課題だったりするのかも
すまない、javaはまったく初心者だ
15デフォルトの名無しさん:2006/07/09(日) 18:15:21
【 課題 】英文で書かれたtextファイルがある。
そのファイルに対するThorndikeTableをつくり、結果を印字せよ。2段組印字をする。
ただし、印字用のLaTeXコードは無視する。

例)
frequency word
9996   software←新しい単語が出る度に検出、最終的に数が多いものからソートする
 ・     ・
 ・     ・
 ・     ・
56   engineering

注意:
1)件のファイルは、デバッグでは使用できない。
2)複数形の語は単数形の語として集計する。また過去形、過去分詞は現在形として集計する。
文頭のために大文字表示されている文字は、小文字表示に直して処理すること。
数字だけの語は対象外とする。
【 期限 】7/11 10:00まで
【 補足 】丸投げです。よろしくお願いします
16デフォルトの名無しさん:2006/07/09(日) 18:27:29
1712:2006/07/09(日) 20:55:00
ご飯を食べて落ち着いて考えてみた。
Memberが抽象クラスなのが障害なのでMemberを継承した具象クラスConcreteMemberを作れば……
って引数なしコンストラクタがprivateじゃん
しかたがないので、ダミーの会員を一人余分に登録することでMember.javaを変更せずに
動作するアプレットにしてみた。
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=28043
あとアップしてから気がついたけど
Member[] ms = new Member[3];
の「 = new Member[3]」はいらないね
会員番号が7002からになるが、とりあえずMember.javaは変更なしに動く
18デフォルトの名無しさん:2006/07/09(日) 21:09:42
【 課題 】新しいウインドウ上でドラッグをすると線が描写できるプログラムを作成せよ。
【 用語 】
【 期限 】できるだけはやくおねがいします
19デフォルトの名無しさん:2006/07/09(日) 21:36:13
>>17
ConcreteMember を MemberFactory くらいにして
createNormalMember や createGoldMember をこしらえてみると
クライアントコードが幾分わかりやすくなる気がする。
20デフォルトの名無しさん:2006/07/09(日) 21:45:36
>>19
MemberFactory よりも RootMember とか ExecutiveMember の方が面白いかも。
会員番号が 7002 からになるのも納得できるし。
21デフォルトの名無しさん:2006/07/09(日) 21:46:18
22デフォルトの名無しさん:2006/07/09(日) 21:57:34
>>21
ありがとうございます


コマンドプロンプトでコンパイルしたらこんなエラーがでたんですがどうしたらいいんでしょうか?

Exception in thread "main" java.lang.NoClassDefFoundError: Res18 (wrong name: th
read57_res18/Res18)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
23デフォルトの名無しさん:2006/07/09(日) 22:05:56
ファイル名がRes18じゃないじゃないの
24デフォルトの名無しさん:2006/07/09(日) 22:09:34
packageがthread57_res18になってるから配置を確認
25デフォルトの名無しさん:2006/07/09(日) 22:09:37
>>22
それコンパイルでエラーが出たんじゃなくて実行エラーじゃないの?
thread57_res18っていうディレクトリ掘ってそこにできたクラスファイルふたつをいれて
java thread57_res18.Res18
って実行汁
26デフォルトの名無しさん:2006/07/09(日) 22:10:23
それか、パッケージ作ってないなら
package thread57_res18;
を丸々削除
27デフォルトの名無しさん:2006/07/09(日) 22:19:16
ありがとうございます。
>>26さんのいうとおりにしてみたらできました!

で、申し訳ないんですが、線っていうかお絵かきみたいなプログラムをつくるらしいんですよ^^;
すいません説明不足でしたね・・・
できたらお絵かきのプログラムもつくっていただけたらうれしいです
28デフォルトの名無しさん:2006/07/09(日) 22:32:26
スルー確定
29デフォルトの名無しさん:2006/07/09(日) 22:51:45
>>27
お前
「お絵かきソフトを作れ」
ってだけで誰か作ってくれると思うのかい
3027ではないけど:2006/07/09(日) 23:12:26
こんばんわ、最近「クラスの基本」を習った初級者です。早速ですが課題で「下記のプログラムソースが上手く動く用にソースコードを付け足しなさい。」をお願いします。(*最後のガソリン量にはaddGas(10.0)が加算される。)
class Car{
nt num;
double gas;
void setNum(int n)
{
num = n;
System.out.println("ナンバーを" + num + "にしました。");
}
void setGas(double g){
gas = g;
System.out.println("ガソリン量を" + gas + "にしました。");
System.out.println("この車は満タンで40リットル入ります。");
}
void show(){
System.out.println("車のナンバーは" + num + "です。");
System.out.println("ガソリン量は" + gas + "です。");
}}
class Exam1{
public static void main(String args[]){
Car car1 = new Car();
Car car2 = new Car();
car1.setNum(1234);
car1.setGas(20.5);
car2.setNum(5678);
car2.setGas(30.8);
car1.addGas(10.0);
car2.addGas(10.0);
car1.show();
car2.show();
}}
31名無し募集中。。。:2006/07/09(日) 23:13:37
>>1ぐらい見ろ
3227ではないけど:2006/07/09(日) 23:17:46
テンプレが足りませんでした。
提出期限、明日正午
希望するjavaバージョン1.5.0_07
補足はありません。
33デフォルトの名無しさん:2006/07/09(日) 23:30:05
【 課題 】 異なる濃度g/lと量lの食塩水が入った容器が2つある。2番目の容器の食塩水
      の半分を1番目に移したとき、2つの容器内の濃度と量を計算して表示し、さらに
      「濃いほうの濃度は、・・・g/lです」と表示しなさい。ただし、フィールド
      :容器内の濃度、容器内の量 メソッド:容器への食塩水の追加操作(追加濃
      度と量を引数) 容器からの食塩水の取り出し(取り出し量を引数、取り出し
      濃度を戻り値)
      容器内の濃度と量の表示とする「食塩水容器」のクラスを定義し、要素数2の
      オブジェクト配列を使いプログラムを作りなさい。最初の濃度と量はキーボ
      ードから入力する。

      丸投げです。お願いします。
34名無し募集中。。。:2006/07/09(日) 23:35:36
>>32
void addGas(double gas){
this.gas += gas;
}
3527ではないけど:2006/07/10(月) 00:02:23
>>34
ありがとうございます。
自分のフィールドを示すthis.でgasを指定すればよかったのですか。
勉強になりました。
3612:2006/07/10(月) 02:34:15
>>19
>>20
こんな感じですかね
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=28045
確かにインスタンス生成のコードがちょっと分かりやすくなったような
それに具象Memberクラスの名前を変えたことで
executive memberが最初に現れて、それが他のメンバーを統括する=作るというふうに
意味的にもなんとなくすっきり感がありますね
37デフォルトの名無しさん:2006/07/10(月) 14:04:13
>>33
こんな感じ
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=28049

つーか算数忘れてるよ俺・・・ orz
食塩水の濃度計算とか、見直してみて。 壮絶に怪しいから。
38デフォルトの名無しさん:2006/07/10(月) 15:04:56
>>16
完全な回答が得られなかったみたいなので…
39デフォルトの名無しさん:2006/07/10(月) 15:11:59
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=28050
課題で指示されたフィールドとメソッド以外はコンストラクタを除いて実装していない。
不正値や不正操作への対策を全くとっていない。
たとえば、無限容器としても負の濃度を設定したり、容器内の食塩水量以上の取り出しを行う等。
最初に設定する濃度と量が正当であれば、取り出す量については半分を移すという課題の範囲内では問題ない。
40デフォルトの名無しさん:2006/07/10(月) 15:15:23
sorry
>>39>>33への回答
41デフォルトの名無しさん:2006/07/10(月) 16:10:05
>>38
難しいんではなくてやたら手間がかかって面倒くさそうだね
単語の語形変化の辞書をどこまで用意すればいいのか際限ないや
これ数日でやるような課題じゃないな
42デフォルトの名無しさん:2006/07/10(月) 16:16:10
[課題]
1.以下の定積分を台形則を用いて数値計算しなさい。ただし
積分区間の分割数は100以上とする。
∫e^(x^2)dx (0≦f(x)≦2)(e(自然対数)のxの2乗 乗です)

2.コンストラクタを用いて分割数と積分区間が自由に指定できる、
以下の定積分を台形則を用いて数値計算するクラスを作成しなさい。
ただしa,bは実数とする。
∫e^(x^2)dx (a≦f(x)≦b)

[用語]
コンストラクタ・・・オブジェクト指向言語で作成したプログラム
において、データとそれを操作するための手続きを一体化した
「オブジェクト」の生成時に呼び出される特殊な関数。
オブジェクトが扱うデータの初期化などをここで行なう。
台形則・・・面積を台形で近似し求める計算方法である。
台形の面積を求めるだけなので比較的簡単に積分値を求めることが
可能である。

[期限]7/17 できるだけ早いほうが助かります。

問題丸投げですが、よろしくお願いします。
43デフォルトの名無しさん:2006/07/10(月) 18:48:55
import java.lang.StrictMath;

class C42Trapezoidal{
double a; //区間開始
double b; //区間終了
int n; //分割数
public C42Trapezoidal(double a,double b,int n){
this.a = a; this.b = b; this.n = n;
}
public double getFx(double x){
return StrictMath.pow(StrictMath.E,x*x);
}
public double getTrapezoidal(){
double sum =(getFx(a)+getFx(b))/2;
for(int i=1;i<n;++i){
sum += getFx((b-a)*i/n+a);
}
return sum*(b-a)/n;
}
}

public class C42{
public static void main(String[] args) {
System.out.println("[0-2] "+new C42Trapezoidal(0,2,100).getTrapezoidal());
}
}
44デフォルトの名無しさん:2006/07/10(月) 19:16:34
45デフォルトの名無しさん:2006/07/10(月) 19:19:42
無駄にいろいろ付けて遅れてしまったorz
46デフォルトの名無しさん:2006/07/10(月) 19:40:37
>>38
Ruby on Rails が当該処理を行うためのメソッドをもっているので
ソースからそのへんを抜き出してきて jruby で処理すれ
47sage:2006/07/10(月) 20:34:52
>43,44
ありがとうございます!
試してみますね〜
48デフォルトの名無しさん:2006/07/10(月) 21:59:43
動作には関係ないけれどjavadocで見直していたら
>>44の140行目あたりのコメントが変になってた
被積分関数の上限でなくて被積分関数だね
getBのコメントをコピペしたのが丸わかりだorz
49デフォルトの名無しさん:2006/07/11(火) 15:36:01
[課題]
2つのボールが300×400の範囲内を反射するアプレットを作成しなさい。

お願いします
50デフォルトの名無しさん:2006/07/11(火) 15:58:29
>>49
p://www.mm2d.net/applet-howto/howto-06.shtml
p://www.mm2d.net/applet-howto/howto-07.shtml
google(2つのボール アプレット)
脊髄反射でお願いすることばかり覚えずに少しは検索エンジンの使い方も覚えなさいということだ
51デフォルトの名無しさん:2006/07/11(火) 16:01:48
>>41
二週間ほどの余裕はあったんですけどもう何が何やらさっぱり分からなくて…
複数形がsとes、過去形がedのみとして他は無視するとして
この場合だけでもお願いできませんでしょうか
52デフォルトの名無しさん:2006/07/11(火) 16:10:53
【 課題 】ウインドウ上に円を描き、円の外からドラッグをはじめ、
ドラッグ中に円に入ったとき、円を四角形に変えるプログラムを作成しなさい
【 期限 】できれば今日中におねがいします
ドラッグ中に円に入ったとき円を四角形に変える
というところのプログラムのかきかたがよくわかりませんでした。
まるなげですが、よろしくおねがいします。
53デフォルトの名無しさん:2006/07/11(火) 17:33:35
>>51
あんまりきれいじゃないけど、こんなかんじ

public static String toPresentForm(String word) {
String ieAfterConsonant = "(\\w*[^aeiou])ie(d|s)";
String thirdPersonSingular = "(\\w*)(es|s)";
String normalPastForm = "(\\w*)ed";

if (word.matches(ieAfterConsonant)) {
return word.replaceFirst(ieAfterConsonant, "$1y");
} elseif (word.matches(thirdPersonSingular)) {
return word.replaceFirst(thirdPersonSingular, "$1");
} else if (word.matches(normalPastForm)) {
return word.replaceFirst(normalPastForm, "$1");
}
return word;
}
54デフォルトの名無しさん:2006/07/11(火) 17:43:22
>>52
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=28057
アプレットなのかアプリケーションなのか分からないので両対応で。
それにawtかswingかも分からないのでawtで。
あまりきれいなコードじゃないね。
ドラッグ中のポインタ座標を監視して円内に入ったらフラグを立てることにして、
描画部分(この場合paintメソッド)で円か四角かをフラグによる場合分けで描画するのが肝?
55デフォルトの名無しさん:2006/07/11(火) 17:45:28
>>53 正規表現がまずかった
String ieAfterConsonant = "^(\\w*[^aeiou])ie(d|s)$";
String thirdPersonSingular = "^(\\w*)(es|s)$";
String normalPastForm = "^(\\w*)ed$";

あと思いつく改良としては正規表現と置換文字列は配列にしとくとか
56デフォルトの名無しさん:2006/07/11(火) 18:03:25
>>54
ありがとうございます。これをもとにもう一回勉強してきます
57デフォルトの名無しさん:2006/07/11(火) 20:29:32
>>53
どうもありがとうございます
58デフォルトの名無しさん:2006/07/11(火) 21:06:34
【 課題 】スモールコンパイラの制作で学ぶプログラムのしくみ
(ttp://www.gihyo.co.jp/books/support.php/4-7741-2177-0)
から source.zip をDLしてEclipse上で動かせ。
【 期限 】1週間
【 補足 】前に質問したのですがどうしても分かりません。
      パッケージcell作ってそれぞれクラス作ってコピペで動くんでしょうか?
      分かる方お願いします手順だけ教えてください
59デフォルトの名無しさん:2006/07/11(火) 21:21:31
>>58
鬱陶しい・・何回目だよその質問
1.source.zipをどっかに展開
2.eclipse3.1起動
3.任意のプロジェクトにcellパッケージを新規作成
4.パッケージエクスプローラーからcellパッケージを選択→右クリック→インポート→ファイルシステムから
1で展開したsourceの中のどっちか目的のフォルダを参照
6059:2006/07/11(火) 21:22:22
あ、途中で書き込んだ
まあここまで書いたらわかるだろ
61デフォルトの名無しさん:2006/07/11(火) 21:59:06
>>55
先生! thisとかisとかhasとかが大変なことに

この課題は真面目にやろうとすれば形態素解析とかまでやらざるを得ない
例えば過去分詞に見えて実は形容詞として使われているとかあるし
それが面倒だからといってあまりにも機械的すぎるとthisみたいな
基本的な単語でさえおかしなことになってしまう
よく使われるものほど不規則であることが多いし

多分肝心なのは出題者の意図を汲み取ることだと思う
本当にThorndike Tableを出力するプログラムを作らせたいのか
それともテキストを一定の基本単位に分割して簡単な変形をするフィルタに通し
その出現頻度をカウントしてさらにソートする
という一連の手続きをコーディングできるかどうかをみたいだけなのか
それとも他に注目したいものがあるのか
そのあたり次第でどこまで手を抜くのかが決まってくる
出題意図を推測できないのなら出題者に直接問い質すべきだったと思う
62デフォルトの名無しさん:2006/07/11(火) 22:46:13
>>61
複数形や三人称単数は適当だった。不規則動詞は考慮外。
処理のサンプルってことで勘弁してほしい。

質問者が孤独かつ出題者に質問にいけないシャイボーイならば、
よくわからないまま変に気の利いたプログラムを提出すると後できっとひどい目に遭うので
頑張ったけどまぬけな出力結果がでる程度でお茶を濁すことをおすすめしたい
63デフォルトの名無しさん:2006/07/12(水) 00:12:09
【 課題 】引数として指定した英単語を辞書式にソートする
      プログラムを作成せよ。
【 用語 】特になし
【 期限 】7月12日(水)
【 Ver  】特になし
【 補足 】丸投げです。お願いします。
64デフォルトの名無しさん:2006/07/12(水) 02:05:55
>>63
import java.util.Arrays;
public class WordSorter {
public static void main(String[] args) {
Arrays.sort(args);
for (String arg : args) {
System.out.println(arg);
}
}
}
65デフォルトの名無しさん:2006/07/12(水) 02:33:24
>>63
もし大文字と小文字の区別をつけたくないのなら
import java.util.Arrays;
import java.util.Comparator;
public class IgnoreCaseWordSorter {
public static void main(String[] args) {
Arrays.sort(args, new Comparator<String>() {
public int compare(String s1, String s2) {
return s1.compareToIgnoreCase(s2);
}
});
for (String arg : args) {
System.out.println(arg);
}
}
}
66デフォルトの名無しさん:2006/07/12(水) 09:29:32
>>63
先生に喜ばれそうなのなら
public class Homework {
public static void main(String[] args) {
for (int i = 0; i < args.length; i++) {
int p = i;
for (int j = i; j < args.length; j++) {
if (args[j].compareTo(args[p]) < 0) {
p = j;
}
}
String s = args[i];
args[i] = args[p];
args[p] = s;
}
for (int i = 0; i < args.length; i++) {
System.out.println(args[i]);
}
}
}
67デフォルトの名無しさん:2006/07/12(水) 12:41:11
>>60
ありがとうございました。でもできればその後のことも教えてください。
超初心者がこんな所にくるなとお思いでしょうがどうぞよろしくお願いします
68デフォルトの名無しさん:2006/07/12(水) 13:05:04
>>67
つーか、わざわざ>>60が書いてくれた手順をやってみたのか?
見た目とカンで見当つかないか? 少しでも頭使ってみたか?
実行ボタンとかメニューとか見えないか? 盲目か?
69デフォルトの名無しさん:2006/07/12(水) 14:18:57
俺は使ってないからわからないんだが
Eclipseのアクセシビリティのサポート状況って今どうなってるんだ?
視覚障害者はEclipseコミュニティでは無視なのか
7059=60:2006/07/12(水) 15:25:03
>>67
本当にわからんのかよ('A`)

5.パッケージエクスプローラからcellパッケージを選んで右クリック→実行→構成および実行
6.Javaアプリケーションのツリー表示におそらく最初から選択されてるCellというのがあるのを確認
 無ければJavaアプリケーションをダブルクリックで出てくると思う
7.メインタブでメイン・クラスがcell.Cellとなっているのを確認し、引数タブのプログラム引数に引数を指定する
8.最下部ボタン「実行」をクリック
71 ◆ccqXAQxUxI :2006/07/12(水) 15:31:09
[課題]
1.任意の関数を台形則を用いて数値計算をするクラスを作成しなさい.ただし,以下の仕様を満足するものとする.
 a.分割数と積分区間は自由に指定可能
 b.クラスは以下で与えられるクラスNumericallntegrationを継承
public abstract class Numericallntegration{
protected integration func;//被積分関数はfunc
protected double minIntegration; //数値積分の下限
protected double maxIntegration; //数値積分の上限
protected int partitons; //分割数
public Numericallntegration(integrand f){
func = f;
minIntegration = 0.0;
maxIntegration = 1.0;
partions = 100;
}
public abstract double integration();
}
public interface integrand{
public double getValue(double x);//関数の値を返す関数
}

2.作成したクラスを使い以下の関数を積分するプログラムを作成しなさい.分割数は100以上とする.
∫Σ(1/n^x)dx  (積分範囲は2〜3、Σはn=1から10000)

3.1で作成したクラスを継承して,数値積分を別スレッドで行うクラスを作成しなさい.ただし以下の仕様を満足するものであるとする.
a.与えた秒数毎に進捗状況(何パーセント計算が終了したか)を経過時間と
 共に表示する.指定しない場合1秒毎の状況を表示.(publicメソッドを使用)
 b.計算の途中でも数値積分の値はpublicメソッドを用いて,安全に別スレッドから取り出すことができる.

[期限]7/21(金) 今週末くらいに解答頂けるとありがたいです。
[補足]問題丸投げです。
>44で頂いた解答を改良すれば何とかなると思いいじってみましたが,今回の2の問題をうまく表現できませんでした。
72デフォルトの名無しさん:2006/07/12(水) 15:40:28
>71
すみません、sage方わからずトリップついてしまいした。。
73デフォルトの名無しさん:2006/07/12(水) 16:39:09
>>71 sageはメール欄
2 はこれで
integrand ex2 = new integrand() {
public double getValue(double x) {
double result = 0.0;
for (int i = 1; i <= 10000; i++) {
result += 1.0 / Math.pow(i, x);
}
return result;
}
};

スレッドは習ってるの?
74デフォルトの名無しさん:2006/07/12(水) 17:35:40
>73
ありがとうございます
マルチスレッドを学習することがメインらしいのですが
あまりスレッドに関して講義で触れられなかったので
独習してるのですが、まだ基礎部分しかつかめてないという感じです。

75デフォルトの名無しさん:2006/07/12(水) 18:06:48
>>74
44 を変更するなら、こんな感じかな。
ループ変数をフィールドに移して、ループ内をsynchronizedにした。

public double integrate() {
div = (b - a) / ndiv;
value = integrand.func(a) + integrand.func(b);

for (progress = 1; progress < ndiv; progress++) {
innerLoop();
}
return getValue();
}

private int progress = 0;
private double value;
private double div;

public double getProgress() {
return (double)progress / ndiv * 100;
}

public double getValue() {
return value * div / 2.0;
}

private synchronized void innerLoop() {
value += 2.0 * integrand.func(a + progress * div);
}
76デフォルトの名無しさん:2006/07/12(水) 18:10:21
で、表示

private static void print(final TrapezoidalRule rule) {
System.out.println("被積分関数 : " + rule.getIntegrand());
System.out.println("分割数 : " + rule.getNdiv());
System.out.println("積分区間 : " + rule.getA() + " 〜 " + rule.getB());
new Thread(new Runnable() {
public void run() {
rule.integrate();
}
}).start();
Thread.yield();
for (;;) {
synchronized(rule) {
double progress = rule.getProgress();
if (progress < 100) {
System.out.printf("積分値(%02.2f%%) : %f\n", progress, rule.getValue());
} else {
break;
}
}
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
}
}
System.out.println("積分値 : " + rule.getValue());
}
77デフォルトの名無しさん:2006/07/12(水) 18:16:34
実害はほとんど無いと思うけど progress++ は innerLoop 内に移した方がよかったかな
78デフォルトの名無しさん:2006/07/12(水) 21:08:11
>>71
問題を見直したらまるで仕様を満たしてなかったので、ちょっと直してみた。
台形公式固有部分は抜き出せるようにした方が綺麗になると思うけれど
与えられたクラスを使いながらだと冗長になってしまうのでそのまま。
それから 2 で割る場所(getPartValueあたり)を変えたので結果が少し変わってしまった。
もとのほうが誤差は小さいんだっけ?
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=28060
79デフォルトの名無しさん:2006/07/12(水) 21:28:58
【 課題 】
//BeansTestServlet.java
import java.io.*;
import javax.servlet.http.*;
import javax.servlet.*;
import beans.*;
public class BeansTestServlet extends HttpServlet{
public void doGet(HttpServletRequest req,HttpServletResponse res)throws ServletException, IOException{
res.setContentType("text/html;charset=MS932");
req.setCharacterEncoding("MS932");
PrintWriter out = res.getWriter();
TestBeans tb = new TestBeans();
out.println("<html>");
out.println("<body>");
tb.n1 = 10;
tb.n2 = 5;
out.println("</body>");
out.println("</html>");
}
}
80デフォルトの名無しさん:2006/07/12(水) 21:31:47
37,39の方ありがとうございました。
8179:2006/07/12(水) 21:33:06
続き

//TestBeans.java
package beans;
public class TestBeans{
public int n1;
public int n2;
public int tasu(){
return n1 + n2;
}
}

丸投げです。
こいつを動かしたいのですが、Beansの設定(TestBeans.classの配置ディレクトリ?)が悪いらしく
「パッケージbeansは存在しません」と出力され、BeansTestServletがコンパイルできません
特殊な設定は無しに動くらしいのですが、
ご存知の方、ご教授願います
82デフォルトの名無しさん:2006/07/12(水) 21:59:11
お前が動かしたいだけであって
課題でもなんでもないような気がするが・・
8379:2006/07/12(水) 22:09:52
よく見たらout.println(tb.tasu());が抜けてた

>>82
課題です
というか、次回(明日)Beansの課題を出すので
このソースを実行確認してくるように、との事で黒板を板書したものです

アルゴリズムというより実行環境の問題かも知れないので
ここで聞くのはスレ違いでしたでしょうか?
84デフォルトの名無しさん:2006/07/12(水) 22:18:23
>>83
現在どんなフォルダ構成でどんなファイル配置になってるの?
8579:2006/07/12(水) 22:22:02
課題であることを建前に、単に私が私のために動かしたいだけであることは確かでしたね(ノ∀`)
もう少し自分なりに調べて、原因追求してみたいと思います

失礼しましたm(_ _)m
86デフォルトの名無しさん:2006/07/12(水) 22:22:48
折角聞いてんのに・・
8779:2006/07/12(水) 22:34:07
>>84
>>86
わざわざありがとうございます

ファイル構成は、
C:\jv99\WEB-INF\classesとなっていて
jv99がコンテンツフォルダ、classesに実行classを格納しています

ちなみに、C:\j2sdk1.4.1_02直下にはbeansフォルダが存在しなかったので
それを作ってコンパイルしたBeansのclassを入れてコンパイルしてもダメでした
C:\j2sdk1.4.1_02\java\beansに入れても同じくダメでした
88デフォルトの名無しさん:2006/07/13(木) 00:59:39
要するにclasspathがよくわかってないのかね
beansディレクトリは、環境変数classpathで指定された場所に配置する
BeansTestServlet.javaがあるディレクトリ内にbeansディレクトリを作成して
そこにTestBeans.javaを置けばコンパイルできるんじゃない?
89デフォルトの名無しさん:2006/07/13(木) 01:14:24
>73,75~78
返答ありがとうございます!
元の方が誤差が多少ありそうな感じがしますね
といっても関数が手計算でもぱっとできるものではないので
確証がもてませんが・・
色々試してみますね
90デフォルトの名無しさん:2006/07/13(木) 13:37:41
初心者です。丸投げですがよろしくお願いします。(期限)本日中にお願いします。(javaバージョン)jdk1.5.0_06(補足なし)
(課題)最初に人数を入力し、入力した人数分だけの名前、それに応じた数学、英語の点数を入力し以下の最終実行例の様に各項目が
表示されるようにプログラムを組みなさい。(ただし、入力した名前とそれに対応した数学英語の点数は例文の14行目以降の結果項目に対応するようにしなさい)
何人分の点数を入力しますか?(3を入力)
1人目のデータ 名前:(Satoを入力)数学:(53を入力)英語:(22を入力)
1人目のデータ 名前:(Tanakaを入力)数学:(22を入力)英語:(89を入力)
1人目のデータ 名前:(Yamadaを入力)数学:(53を入力)英語:(67を入力)
数学の最高点をとった人
Satoさん(数学:53 英語:22)
Yamadaさん(数学:53 英語:67)
英語の最高点をとった人
Tanakaさん(数学:22 英語:89)
数学の点数が平均点(42.666666666666664)以上の人
Satoさん(数学:53 英語:22)
Yamadaさん(数学:53 英語:67)
英語の点数の平均点(59.33333333333336)以上の人
Satoさん(数学:53 英語:22)
Yamadaさん(数学:53 英語:67)
2科目とも平均点以上の人
Yamadaさん(数学:53 英語:67)
1科目でも40点未満の人
Satoさん(数学:53 英語:22)
Tanakaさん(数学:22 英語:89)
91すみません:2006/07/13(木) 13:39:51
補足ですが、(〜を入力)はその単語、数字を入力した場合の結果を表示するということです。
92すみません:2006/07/13(木) 14:30:55
もうひとつ補足です、すみません
>例文の14行目以降の結果項目に対応するようにしなさい) とありますが
元の文は
1人目のデータ 
名前:(Satoを入力)
数学:(53を入力)
英語:(22を入力)
1人目のデータ 
名前:(Tanakaを入力)
数学:(22を入力)
英語:(89を入力)
1人目のデータ 
名前:(Yamadaを入力)
数学:(53を入力)
英語:(67を入力)
という風に1項目づつ入力していく形式です。
投稿の際に、改行が多かったので縮めました。
93デフォルトの名無しさん:2006/07/13(木) 15:38:19
>>90
今やってる。 少し待て。
とりあえず仕様は満たすけど
科目が変動する場合まで考慮したほうがいいのか?
94すみません:2006/07/13(木) 15:48:12
科目が変動する場合は考慮しないでいいです。
ありがとうございます。
9593:2006/07/13(木) 16:11:30
96すみません:2006/07/13(木) 16:23:53
本当にありがとうございます。
大変助かりました。
作っていただいたソースコードも丁寧で、勉強になりました。
97デフォルトの名無しさん:2006/07/13(木) 16:40:44
double hensa = 0.0;
for (int i=0; i<1000; i++) {
hensa += (data[i] - heikin) * (data[i] - heikin);
}
hensa /= 1000.0;

System.out.println("hensa = "+hensa);

このプログラムの意味を誰か教えてくれないでしょうか。
9893:2006/07/13(木) 16:40:54
>>96
後半の結果表示部分は、ひたすらfor〜が続いてて意図的にダサく作ってある。
各ループで違うのはif文の判断のみだから、ここらをイカす感じに直せばコードは半分になるし
場合によっちゃ点数が上がるかもしらんぞ。
99デフォルトの名無しさん:2006/07/13(木) 16:45:42
>>97
ここの 標準偏差、分散のとこ読んでみ。
ttp://www.stat.go.jp/howto/lecture4/02.htm

つーかダサいコードだな。 hensaとか言って分散出してるし。
100デフォルトの名無しさん:2006/07/13(木) 19:29:32
【課題】1、N人数分の名前とそれぞれの数学と英語のテストの点数を入力するプログラムを作成せよ。
    例えば3を最初に入力すると三人分の英語と数学の点数を入力して表示させるってやつです

    2、1のプログラムを元に科目ごとの平均点および最高点を求めるプログラムを作成せよ

【期限】7月14日の午前中

どうかよろしくお願いします



101デフォルトの名無しさん:2006/07/13(木) 19:59:21
>>97
分散。
平均値からどのくらいはなれているかを調べるやつ


sumは何の値を格納していますか?

public static void main(String args[]) {
double data[] = new double[1000];

for (int i=0; i<1000; i++) {
data[i] = 5.0 + 15.0 * Math.random();
}

double sum = 0.0;
for (int i=0; i<1000; i++) {
sum += data[i];
}

if (sum > 12500.0) {
System.out.println("sum > 12500");
} else {
System.out.println("sum <= 12500");
}

System.out.println("sum = "+sum);
}
}
お願いします。
102デフォルトの名無しさん:2006/07/13(木) 20:09:32
103名無し募集中。。。:2006/07/13(木) 21:14:57
同じ課題を聞く馬鹿が2人もこのスレもいるのか
その学校も哀れだな
104デフォルトの名無しさん:2006/07/13(木) 21:15:41
今に始まったことじゃありませn
105デフォルトの名無しさん:2006/07/14(金) 01:30:15
>>70
あのすいません、そこまでは分かったのですが引数ってのがわかりません。
なんどもウザイでしょうが誰か教えていただければうれしいです。
実行したらプログラムを打ち込める画面が開かれるのでしょうか?
106デフォルトの名無しさん:2006/07/14(金) 01:44:17
>>105
うざいの自覚してるなら消えれば
107デフォルトの名無しさん:2006/07/14(金) 02:43:17
【 課題 】複数の画像を一定時間毎に切り替える(スライドショー)
【 期限 】7/16
【 補足 】丸投げですが、よろしくお願いします。
108デフォルトの名無しさん:2006/07/14(金) 06:32:18
>>107
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=28068
最初に出てくるディレクトリ選択ダイアログで
目的の画像群が入ってるディレクトリを選択すべし
ただし画像以外が入ってるとエラーが出ると思う
109デフォルトの名無しさん:2006/07/15(土) 00:40:54
>>108
ありがとうございました。
本当に助かりました・・・
ソースも参考にさせていただきます!
110デフォルトの名無しさん:2006/07/15(土) 16:47:47
【 課題 】入力した数値の平均、分散、標準偏差を求めるプログラム
【 用語 】特にないです
【 期限 】7/17
【 Ver  】特にないです
【 補足 】よろしくお願いします
111デフォルトの名無しさん:2006/07/15(土) 19:16:57
>>110
import java.io.*;
public class Res110 {
public static void main(String[] args) throws IOException {
BufferedReader r = new BufferedReader(new InputStreamReader(System.in));
String s;
int n = 0;
double m1 = 0, m2 = 0;
try {
while ((s = r.readLine()) != null) {
for (String t : s.split("[\\s,]")) {
double d = Double.parseDouble(t);
m1 += d;
m2 += d * d;
n++;
}
}
} catch (NumberFormatException e) {
} finally {
r.close();
}
System.out.println("入力された数値の個数 " + n);
if (n > 0) {
m1 /= n;
m2 /= n;
System.out.println("平均 " + m1);
System.out.println("分散 " + (m2 - m1 * m1));
System.out.println("標準偏差 " + Math.sqrt(m2 - m1 * m1));
}
}
}
112デフォルトの名無しさん:2006/07/16(日) 00:06:05
【 課題 】
int[] st={3,2,4,3};
int[] hst={2,2,1,1};
hst[i]=初期値 + (lv+5*st[i])/125;
lvが1上がるとpが増え(上昇値は下の表参照)、pをhst[i]だけ消費してst[i]が1上がるというルールです。
if(lv>6)p=p+2;
if(lv>22)p=p+3;
if(lv>48)p=p+4;
if(lv>80)p=p+5;
if(lv>130)p=p+6;
if(lv>175)p=p+7;
実行時引数として、lv,x,yを与えて
int[] st={x,y,a,b};になるまで振って
a+bが最大になる振り方を探すアルゴリズムをお願いします

さらにめんどくさいことに
あるlvになるまではlvが1上がる度にst[0]が毎回1増え、st[1]は50%の確率で1上がります。
lvが一定まで上がるとlvが1上がる度にst[2]が毎回1増え、st[0]は50%の確率で1上がります。
このあるlvというのも変動させてください

【 補足 】
課題ではなくてネトゲのステータスの最良の振り方をプログラミングで計算して出そうと考えました
113デフォルトの名無しさん:2006/07/16(日) 00:30:00
>>111
110です
本当にありがとうございます
申し訳ないのですが、もう1つお願いできないでしょうか・・
【 課題 】
先ほどの課題の延長なのですが、
入力した数値の平均、分散、標準偏差を求め、その求めた数値をエクセルに
書き込む(表示する)ようにするプログラムを作成せよ
申し訳ないのですが、よろしければお願いします
114デフォルトの名無しさん:2006/07/16(日) 00:40:02
>>113
それ java でやるの? csv 形式で書き出せというんじゃなくて?
115デフォルトの名無しさん:2006/07/16(日) 01:15:50
>>113
csvで書き出すなら以下を>>111のmainのケツに追加
csvファイル名はコマンドライン引数で指定

if (args.length > 0) {
PrintWriter w = null;
try {
w = new PrintWriter(new BufferedWriter(new FileWriter(args[0])));
w.println("\"入力された数値の個数\"," + n);
w.println("\"平均\"," + m1);
w.println("\"分散\"," + (m2 - m1 * m1));
w.println("\"標準偏差\"," + Math.sqrt(m2 - m1 * m1));
} finally {
w.close();
}
}
116デフォルトの名無しさん:2006/07/16(日) 01:32:35
平均、分散、標準偏差の書き出し部分は標準出力への書き出しと同じく
if (n > 0) { }で囲っておいた方がいいかもね
なくてもエラーにはならないけど
117デフォルトの名無しさん:2006/07/16(日) 14:38:48
>>114
>>115
>>116
csvで大丈夫だと思います 本当にありがとうございます
ほとんど参考にさせてもらって以下のように作りました

import java.io.*;
public class Res888 {
public static void main(String[] args) throws IOException {
BufferedReader r = new BufferedReader(new InputStreamReader(System.in));
String s;
int n = 0;
double m1 = 0, m2 = 0;
PrintWriter w = null;
try {
while ((s = r.readLine()) != null) {
for (String t : s.split("[\\s,]")) {
double d = Double.parseDouble(t);
m1 += d;
m2 += d * d;
n++;
}
}
} catch (NumberFormatException e) {
} finally {
r.close();
}
118デフォルトの名無しさん:2006/07/16(日) 14:42:20
117の続きです
System.out.println("入力された数値の個数 " + n);
if (n > 0) {
m1 /= n;
m2 /= n;
System.out.println("平均 " + m1);
System.out.println("分散 " + (m2 - m1 * m1));
System.out.println("標準偏差 " + Math.sqrt(m2 - m1 * m1));
try {
w = new PrintWriter(new BufferedWriter(new FileWriter( args[0] )));
w.println("\"入力された数値の個数\"," + n);
w.println("\"平均\",\"" + Double.toString( m1 ) +"\"" );
w.println("\"分散\",\"" + Double.toString ( (m2 - m1 * m1) ) + "\"" );
w.println("\"標準偏差\",\"" + Double.toString( Math.sqrt(m2 - m1 * m1) ) + "\"" );
} finally {
w.close();
}
}
}
}
119デフォルトの名無しさん:2006/07/16(日) 16:59:27
【 課題 】コマンド行引数で指定したディレクトリの、全てのサブ
ディレクトリとファイルを、JTree を用いて表示せよ。
【 期限 】7月20日まで

よろしくお願いします
120デフォルトの名無しさん:2006/07/16(日) 18:17:37
121デフォルトの名無しさん:2006/07/16(日) 19:40:57
>>106
そんなこと言わずに引数とプログラム打ち込むところ教えていただけないでしょうか
これに卒業懸かってるんでおねがいします
122デフォルトの名無しさん:2006/07/16(日) 19:42:04
自業自得
123デフォルトの名無しさん:2006/07/16(日) 21:17:48
卒論に関係してるならなおさら教えれん
124デフォルトの名無しさん:2006/07/16(日) 21:27:04
卒業ってことは大学?4年生?
情報系大学4年でこのレベル?
125でほるとの名無しちゃん:2006/07/16(日) 21:37:06
【 課題 】画像ファイルを任意の角度に回転させて表示せよ。(画像の端っこではなく画像のど真ん中を基準に回すこと)
【 期限 】明日まで
【 補足 】

http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=28085

こういう感じでソースは出来ているが、画像の中心を基準に回転させることが
なぜかできてない。画像の中心のX、Y座標を取得する関数の使い方が間違っているだけ
だと思うのだが、ただしい使い方がわからない。どこが間違っているか指摘してください。
126デフォルトの名無しさん:2006/07/16(日) 22:08:53
>>125
AffineTransform のアンカーポイントを指定するところで
イメージの縦横を2で割ればいいんじゃないの
127でほるとの名無しちゃん:2006/07/16(日) 22:13:34
>>126

xform.rotate(theta, image.getWidth(this)/2, image.getHeight(this)/2);
にしてみてもなんかうまくいかないです
128デフォルトの名無しさん:2006/07/16(日) 22:19:50
>>125
つっこみどころの多いプログラムだけど、とりあえず
public boolean imageUpdate(Image img, int infoflags, int x, int y, int width, int height) {
if (infoflags == java.awt.image.ImageObserver.ALLBITS) {
double theta = Math.toRadians(90);
xform = new AffineTransform();
xform.rotate(theta, width/2, height/2);
repaint();
return false;
}
return true;
}
というメソッドを加えてみて。DrawImageのコンストラクタでは
まだイメージは読み込まれていない状態なので幅や高さの情報は使えないのじゃよ
上のメソッドを加えただけでは無駄の多いプログラムだけどいちおう動くはず
129128:2006/07/16(日) 22:25:32
Toolkit#getImageは全ての情報を読み終えたImageを生成するわけではない
ということを覚えておいたほうがいい
130でほるとの名無しちゃん:2006/07/16(日) 22:31:07
>>128

たしかに動きました。
でもわからないことが増えた。
imageUpdateの中で回転操作してるみたいだけど、
じゃあDrawImageの中には何を書いておけばいいんですか??
回転操作が重複したままでもOK??
131デフォルトの名無しさん:2006/07/16(日) 22:37:15
トリッキーなソースに見えるのは俺だけだろうか
132でほるとの名無しちゃん:2006/07/16(日) 23:05:32
ToolkitのgetImageは情報をすべて読み終えたイメージを作成しないから
読み終えてないイメージの幅や高さを取得できず、
imageUpdateで画像の読み込みを順次追っていって、
情報をすべて読み終えるまでひたすら回転処理を繰り返しまくり、
最終的にイメージ読み終えた段階で意図したとおりの回転処理が残ってるように
するコード、みたいなものになる気がするんですが、
この解釈はハズレですか?
133121:2006/07/16(日) 23:27:29
そうじゃなくて単位がやばいんです
134128:2006/07/16(日) 23:50:48
>>130
重複してても無駄になるだけでOK
>>131
うむ、そのとおり。とりあえず動けばいいやと、えいやっで作ったので
>>132
ImageObserber#imageUpdateはImageが情報を取得している間に、
ある特定の情報が使えるようになった時点で呼ばれるメソッド。
幅の情報が分かったとか、高さの情報が分かったとか。
で、infoflagsがImageObserver.ALLBITSとして呼ばれたら全ての情報がそろったということ。
したがって、imageUpdate内での回転操作はImageを読み終えた段階で1回だけ行われる。
で、repaintで再描画させれば回転した画像がpaintによって描画させる仕組み。

なんにせよ、imageUpdateを追加しただけでは無駄が多いプログラムであることは間違いない。
135デフォルトの名無しさん:2006/07/17(月) 00:03:10
普通にJFrameを継承したクラスの
paintで処理したらあかんのかいな
136128:2006/07/17(月) 00:13:50
>>135
そのとおり。既存の部分に手を加えないように済ませようとしたのでトリッキーになった。
こっちのほうがマシ。
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=28086
137128:2006/07/17(月) 00:17:37
>>136
あー、JFrameではなくComponentを継承してるけどね。でも、JFrameならpaintComponentで処理した方が。
あと、setBoundsの引数を自分の用意した画像に合わせて変えてるので注意して。100が400に。
138128:2006/07/17(月) 00:26:11
>>136
補足。回転操作のパラメータ設定をコンストラクタからpaintに移しただけで
なぜうまくいくかというと、Imageが情報を読み込んでいくにつれて再描画が
行われてpaintが呼び出されるから。Imageが全ての情報を読み込んだ時点で
描画が完成する。
139でほるとの名無しちゃん:2006/07/17(月) 09:50:44
回転した画像を表示するだけじゃなくて、
実は回転後の画像をjpgファイルとしてImageIOかなにか使って画像ファイルに
したいんだけど、その場合はどうすればいい?
140128:2006/07/17(月) 10:20:09
>>139
ImageIOが分かっているなら自分で調べてみるのも一興
>>125って他のBBSのをそのままとってきたのね。
というわけで遠慮せず変えた。ToolkitでなくImageIcon使って面倒さを減少。
まだいろいろ変えたいけどまあいいや
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=28089
141デフォルトの名無しさん:2006/07/17(月) 10:29:36
コンストラクタ中の
g2d.drawImage(image, xform, null);

paint(g2d);
の方が描画処理をpaintに集中させる意味からいいかも。
142でほるとの名無しちゃん:2006/07/17(月) 10:56:44
DrawImage.java:15: シンボルを解決できません。
シンボル: メソッド setPreferredSize (java.awt.Dimension)
場所 : DrawImage の クラス
component.setPreferredSize(new Dimension(100, 100));
^
エラー 1 個


こんなエラーでちゃうよ。
143デフォルトの名無しさん:2006/07/17(月) 11:32:52
チョットは自分で考えろハゲ
144デフォルトの名無しさん:2006/07/17(月) 12:07:04
>>142
>>1嫁ヨー。テンプレ守れ。
>【 Ver  】希望するJavaバージョンがあれば書きます
>>142のバージョンって1.4以下じゃないのか?それならそうと書けということだ。
component.setPreferredSize(new Dimension(100, 100));
を消して、
public Dimension getPreferredSize() {
return new Dimension(100, 100);
}
っていうメソッドを咥えろ。
145デフォルトの名無しさん:2006/07/17(月) 12:15:46
>>143
このスレに頼る人間に考えろという言葉は無駄だ
やりたくもないが必修単位だから仕方がないとかなんとかだろうから
とっとと単位でもくれてやって
そのかわり社会に出たら二度とプログラミングに関わらないようにさせるのが世界のためだ
146デフォルトの名無しさん:2006/07/17(月) 12:48:44
【 課題 】コンピュータ思考クラスを作成しコンピュータと対戦する三目並べを作れ
よろしくお願いします。
147デフォルトの名無しさん:2006/07/17(月) 12:58:10
ハイハイスルースルー
148デフォルトの名無しさん:2006/07/17(月) 18:43:59
【課題】
■■■
  ■■
   ■

って表示するプログラムを作成する。

下図のようなものなら


■■
■■■

public static void main(String args[]){
for (int x=1; x<=3; x++){
for (int y=1; y<=x; y++){
System.out.print("■");
}
System.out.println();
}
}

と自分ではできるのですが
課題のような記述の仕方が分かりません
 
よろしくお願いします。

149デフォルトの名無しさん:2006/07/17(月) 18:51:35
>>148
public static void main(String[] args){
for (int y = 0; y < 3; y++) {
for (int x = 0; x < y; x++) {
System.out.print(" ");
}
for (int x = y; x < 3; x++) {
System.out.print("■");
}
System.out.println();
}
}
ただしコンソールのフォントが等幅前提
System.out.print(" ")の文字列の中身はいわゆる全角空白ですぜ
150148:2006/07/17(月) 19:06:52
>>149
迅速な御回答ありがとうございました。
151デフォルトの名無しさん:2006/07/17(月) 20:43:03
時給1000円でJava教えてくださるかたを募集します
場所 所沢(池袋・高田馬場から直通)
よろしくおねがいします
i−want−to−study−java@hotmail.co.jp

専門学校などでJavaを勉強されていて夏休みだけ教えたいという方も歓迎です
152デフォルトの名無しさん:2006/07/17(月) 20:51:12

監禁されてSPAMメール送信の手伝いさせられそうだな
153デフォルトの名無しさん:2006/07/17(月) 20:53:14
>151

場所は君の自宅?
154デフォルトの名無しさん:2006/07/17(月) 23:32:56
【課題】
今年のカレンダーを作成しなさい

【実行例】
1月
日月火水木金土
1 2 3 4 5 6 7
8 91011121314
15161718192021
22232425262728
293031

以下12月迄

よろしくお願いします。
155デフォルトの名無しさん:2006/07/17(月) 23:45:25
>>154
★★ Java の宿題ここで答えます Part 56 ★★
http://pc8.2ch.net/test/read.cgi/tech/1145447187/882

882 名前:デフォルトの名無しさん[sage] 投稿日:2006/06/29(木) 21:29:07
【 課題 】
今年2006年のカレンダーを表示するプログラムを作成してください。
目安は20〜30行です。
【 用語 】なし
【 期限 】なし
【 Ver  】どれでも
【 補足 】以下のようにコマンドプロンプトで月ごとに縦に表示させてください

     1月
日 月 火 水 木 金 土
 1 2 3 4  5  6 7 
 8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
      ・
      ・
      ・
      ・

156デフォルトの名無しさん:2006/07/18(火) 03:33:12
>>153 専門学校の自習室の質問受付係みたいなバイトだそうだ
157デフォルトの名無しさん:2006/07/18(火) 03:38:09
>>151 = >>152
自分でマルチして、自分で突っ込んでる
158デフォルトの名無しさん:2006/07/18(火) 08:37:49
>>156
ソースは?
159デフォルトの名無しさん:2006/07/18(火) 09:33:00
じゃあ学校名を
160デフォルトの名無しさん:2006/07/18(火) 09:41:05
時給1000円だったら時間の無駄
161デフォルトの名無しさん:2006/07/18(火) 11:10:07
【 課題 】サンプルプログラムを改良して英単語の入力練習をする簡易タイプ練習ソフトをつくること。
動作は、1.タイプ練習する単語を文字型配列に記憶(5文字以上の単語を10個以上)
2.配列から選んだ単語を一つ画面に表示してキーボードから入力を受け付ける。3.キーボードから入力された文字列と単語を比較し、正解/不正解を表示する。4.上記2,3の動作を繰り返して行い、通算の正解率を表示して終了
【 用語 】if文とfor文を使うこと
【 期限 】7月24日
サンプルは後ではりつけます。分からないので教えてください。お願いします。
162デフォルトの名無しさん:2006/07/18(火) 11:19:52
161です。長いので、二部に分けます。すみません。サンプルは、
import java.io.*;
public class Input{
//キーボードから文字を入力するメソッド(変更不要)
String str="";
//キーボードから文字を入力するための準備
BufferedReader myReader=new BufferedReader(
new InputStreamReader(System.in),1);
//キーボードから文字入力開始
try{
str=myReader.readLine();
}
catch (IOException e){
}
//文字入力終了
return str;
}
163デフォルトの名無しさん:2006/07/18(火) 11:28:07
//プログラム本体(ここの中身を改良する)
public static void main (String args[]){
String name="";
String tenki="";

System. out. println("あなたの名前を入力してください");
//inputを実行して文字入力
name=input();
System.out.println("今日の天気を入力してください");
//inputを実行して文字入力
tenki=input();
if(tenki.equals("here")){
System.out.println(name+"さん、晴れてよかったですね。");
}else{
System.out.println(name+"さん、晴れなくて残念ですね。");
}
}
}長くなってすみません。どうかお願いします。
164デフォルトの名無しさん:2006/07/18(火) 11:32:13
>162-163
せめてコンパイルエラーにならないソースを載せてくれ。
165164:2006/07/18(火) 11:58:07
>162-163
できたからもう貼るわ。main()の部分だけ。
public static void main(String args[]) {
String[] questions = {
"aaaaa", "bbbbb", "ccccc", "ddddd", "eeeee",
"fffff", "ggggg", "hhhhh", "iiiii", "JJJJJ",
};
int questionCount = (int)(Math.random() * questions.length);
int correct = 0;
System.out.println( questionCount + "問出題します。" );
ArrayList<String> questionList = new ArrayList<String>();
for( String question : questions ) questionList.add(question);
Collections.shuffle(questionList);
for( int i=0; i<questionCount; i++ ) {
System.out.print( "第" + (i+1) + "問:" );
String nowQuestion = questionList.get(i);
System.out.println( nowQuestion );
String input = input();
if( nowQuestion.equals(input) ) {
System.out.println( "正解!!" );
correct++;
} else {
System.out.println( "不正解..." );
}
}
System.out.println( questionCount + "問中、" + correct + "問正解しました。" );
System.out.printf( "正解率 %.1f%%", (correct*100.0/questionCount) );
}

import java.util.*;
を忘れないように。
JDK5.0じゃないとダメ。
166デフォルトの名無しさん:2006/07/18(火) 12:13:39
どうもありがとうございます。助かります。
167でほるとの名無しちゃん:2006/07/18(火) 14:44:14
たびたび失敬。

http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=28090

このコードで画像を回転してファイルに書き込むと、
回転後の画像に黒い余白がはいってしまっている。
余白なしのジャストサイズな回転処理ってできませんか
168デフォルトの名無しさん:2006/07/18(火) 14:49:31
余白無しって、、、どういうjpgがいいの?
169デフォルトの名無しさん:2006/07/18(火) 14:57:22
【課題】
1.API仕様書でHashMapクラスの使い方を調べ、以下のプログラムHashSearch.javaを完成させよ。ただしプログラムの動作は、整数値をキーとして、整数値のデータを検索するものである。(例:学生番号をキーとして試験の点数を検索する)
2.上記課題1のプログラムを、整数値をキーとして氏名と電話番号を検索するプログラムに変更せよ。 この場合、キー、氏名、電話番号をフィールドとして持つクラスを作成し、 そのインスタンス(オブジェクト)をHashMapに格納する。
3.上記課題2のプログラムに対して、全データをキーの順あるいは逆順に表示する機能を加えよ。(ヒント:HashMapと似たような名前のクラスを使うと簡単にできる。)
4.「構造体(氏名、受付番号)を要素とする待ち行列のプログラムを連結リストを用いて作成し、enqueue, dequeueの操作ができることを確認せよ。」をJavaで作成せよ。キューを実現するクラスQueueを作成し、そのメソッドとして enqueue, dequeueを実装すること。

長いので2つに分けます。
170169:2006/07/18(火) 15:02:22
【ソースコード】
import java.io.*;  import java.util.*;

public class HashSearch {
public static void main(String[] args) {HashMap table = new HashMap();
Integer key, data;
while (true) {
System.out.println("操作を選んで(1:insert 2:delete 3:search 4:print 9:exit) :"); BufferedReader br =new BufferedReader(new InputStreamReader(System.in));
try {
int select = Integer.parseInt(br.readLine());  switch (select) {
case 1 :
System.out.println("キーとデータを入れて下さい:"); key = Integer.valueOf(br.readLine()); data = Integer.valueOf(br.readLine());
// ここに登録するコードを書くこと。
break;
case 2 :System.out.println("削除するキーを入れてください:"); key = Integer.valueOf(br.readLine());
// ここに削除するコードを書くこと。
     break;
case 3 : System.out.println("検索するキーを入れてください:");key = Integer.valueOf(br.readLine());System.out.print("data = ");
// ここにデータを検索し表示するコードを書くこと。
break;
     case 4 :
// ここに全データを表示するコードを書くこと。
break;
      case 9 : System.exit(1); default :System.out.println("select error\n");
break;}} catch (Exception e) {System.err.println("error:" + e);
}}}}どうかよろしくお願いします。
171でほるとの名無しちゃん:2006/07/18(火) 15:09:28
正方形の画像を回転させた場合なら

http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=28090

これでも問題ないんだけど、
長方形な画像を回転させると、
長い方の辺の長さの正方形になって、大きさが足りてない部分は黒くぬりつぶされてしまうんですよ。
そうならないようにできないかなと
172デフォルトの名無しさん:2006/07/18(火) 15:34:37
>>171
90度回転するんだから高さと幅は入れ替えないとだめよ
173デフォルトの名無しさん:2006/07/18(火) 15:36:47
>>171
>画像の端っこではなく画像のど真ん中を基準に回すこと
なんだったらそれで間違ってないじゃん
非正方形の画像を回転させたときに
回転前の画像はあって回転後の画像がない部分をクリップしたら
ど真ん中基準で回してないことになるよ
しかも元の課題では
>任意の角度に回転させて
じゃん。90度倍数の回転でないときはどうすんの?
174でほるとの名無しちゃん:2006/07/18(火) 16:59:47
ひとまず今のところ90度ごとの回転しか使わないので
高さと幅をいれかえてみたのですが、
高さと幅を入れ替えて回転させてみても、なんか変。
上と右に黒い余白。なぜ?


>>173

なるほど90度回転以外の場合だと面倒くさそうですな・・・。
ひとまず90度回転をクリアしたい。
175デフォルトの名無しさん:2006/07/18(火) 17:17:09
>>174
どう変なのか画像upしる
176デフォルトの名無しさん:2006/07/18(火) 17:22:04
Imageインスタンスを画像ファイルに変換するのってどうするんですかね?
ImageIO.write()で第一引数にもってこれるのってBufferedImageじゃないですか。
だったらなんとかしてImageをBufferedImageに直せないかと思って調べたりしたんですが駄目なんですね。
いいアイデアあったら教えてください。
177でほるとの名無しちゃん:2006/07/18(火) 17:30:40
178デフォルトの名無しさん:2006/07/18(火) 17:39:20
>>177
元画像の中心にあわせて回転してるから
179デフォルトの名無しさん:2006/07/18(火) 17:50:26
>>176
PixelGrabberでいいんじゃね
180でほるとの名無しちゃん:2006/07/18(火) 17:53:30
元画像の中心にあわせて回転していいんじゃないの??
181デフォルトの名無しさん:2006/07/18(火) 19:16:17
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=28092

>>176
main()の前半部。
こんな感じの解法も。BufferedImageから得たグラフィックコンテクストに
drawImage()で描画してやればとりあえずimageの画像をBufferedImageに放り込める。

>>180
main()の後半部。
中心に合わせて回転しているからこそ>>180の要求に合わないんじゃよ。
>>180の要求と課題の要求は違うものなのだ。
たぶん、これで>>180の要求に合ったものができるはず。
見れば分かると思うが、
画像の端点を中心に回転した後、平行移動している。
回転しかしていない限りどこかに余白が生まれるのは当然。
182デフォルトの名無しさん:2006/07/18(火) 19:37:12
あー
usage: java ImageToBufferedImage input_file copied_file rotated_file
183でほるとの名無しちゃん:2006/07/18(火) 21:01:37
>>181

その理屈で
xform2.translate(image.getWidth(null), image.getHeight(null));
xform2.rotate(Math.toRadians(180));
こんな感じに180回転も試してみた。
するとやっぱり黒い余白が・・・あきらめるしかない?
184デフォルトの名無しさん:2006/07/18(火) 21:37:43
いいかげん鬱陶しい
185デフォルトの名無しさん:2006/07/18(火) 22:15:50
次のコードはどこが間違っていますか?誤りがあれば指摘してください。

class SampleP2
{
public static void main(String args[])
{
char ch;

ch = 3.14;

System.out.println("変数chの値は" + ch + "です。");


}
}


です。お願いします。
186デフォルトの名無しさん:2006/07/18(火) 22:19:58
>ch = 3.14;
187デフォルトの名無しさん:2006/07/18(火) 22:20:13
間違いも何も・・
間違えることができる場所がほとんど無いじゃん
188デフォルトの名無しさん:2006/07/18(火) 22:26:22
じゃあ漏れは敢えて
>char ch;
189デフォルトの名無しさん:2006/07/18(火) 22:58:36
>>183
いちど折り紙と糸と画鋲を使ってくるくる回してみることを勧める
190デフォルトの名無しさん:2006/07/18(火) 23:09:56
>>183
あんたに必要なのはチラシの裏だ。そこに座標系と回転させた長方形を描いて、
その回転角のときにどう平行移動したら目的の枠内におさまるかを考えるんだ。
真剣にな。

http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=28093
コマンドライン引数の3番目の回転角はdegreeだ。

さすがにあきたのでこの課題はこれ以上やらないお。
191デフォルトの名無しさん:2006/07/18(火) 23:12:21
>>185
課題提示用テンプレに従え
192デフォルトの名無しさん:2006/07/18(火) 23:18:29
>>190
width2とheight2をprivateにしてねえorz
193デフォルトの名無しさん:2006/07/18(火) 23:32:29
144です。ありがとうございます。試してみます>>181
194デフォルトの名無しさん:2006/07/19(水) 16:45:26
丸投げ。
提出する気も無いので暇な方どうぞ
http://www.uploda.org/uporg450943.pdf
195デフォルトの名無しさん:2006/07/19(水) 16:50:03
見れん
つかいくらなんでもpdfってどうよ
196デフォルトの名無しさん:2006/07/19(水) 16:55:40
一瞬見れた
多分専修大学
197デフォルトの名無しさん:2006/07/19(水) 17:54:41
専修大学じゃしょうがねぇな。
198デフォルトの名無しさん:2006/07/19(水) 18:50:19
しょうがないのか
何かあったっけ
199デフォルトの名無しさん:2006/07/19(水) 19:36:11
何で消えてるんだ。
200デフォルトの名無しさん:2006/07/19(水) 19:38:41
専修大学だからじゃね
201デフォルトの名無しさん:2006/07/19(水) 20:06:50
じゃあしょうがないか。
202デフォルトの名無しさん:2006/07/19(水) 20:12:08
個人情報丸分かりとかだったんじゃね?あたまわりぃwwww
203デフォルトの名無しさん:2006/07/19(水) 23:42:26
専修大学だからじゃね
204アフォルトの名無しさん:2006/07/20(木) 00:01:21
【 課題 】JPG等の入力画像を拡大、縮小して画像ファイルに出力できるようなプログラムを作りなさい

丸無げということでよろ。
205デフォルトの名無しさん:2006/07/20(木) 00:21:21
>>125といい>>205といい
急に画像関係の質問が増えたな
206デフォルトの名無しさん:2006/07/20(木) 01:12:35
>205
>125も>204もHNをデフォルトから微妙に変えているという点から
同一人物ではないかという判断をした俺様がいますよ。
207デフォルトの名無しさん:2006/07/20(木) 08:53:38
名前なんて見てなかった
208アフォルトの名無しさん:2006/07/20(木) 09:42:18
>205,206,207

同一人物で申し訳ない。

http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=28100

こんな具合で回転後に縮小したら黒い余白ができる。
黒い余白がない画像ファイルを出力したいんだけど、いい方法はないでしょうか
209デフォルトの名無しさん:2006/07/20(木) 10:11:39
>208
>184
210デフォルトの名無しさん:2006/07/20(木) 11:32:07
>208
>184>184>184>184>184
double sx = 0.5, sy = 0.5;
BufferedImage bufferedImage =
new BufferedImage((int)(image.getHeight(null) * sx), (int)(image.getWidth(null) * sy),
BufferedImage.TYPE_INT_RGB);
Graphics2D g = bufferedImage.createGraphics();
AffineTransform xform = new AffineTransform();
xform.scale(sx, sy);
xform.translate(image.getHeight(null), 0);
xform.rotate(Math.toRadians(90));
211デフォルトの名無しさん:2006/07/20(木) 12:20:11
丸投げです、分かる方いらしたらお願いします。

1. 四則計算が可能な電卓機能
2. 数字ボタンをクリックするとその値が入力
3. 入力および出力可能な数は5 桁以上とする
4. 数字10 個のボタン以外に、「+」「− 」「
アーボタン「C」が存在し、以下の図のように配置すること
789+
456-
123*
0=c/
5. 計算できる数は2 個まででよい
例)2 + 3 は計算可能だが 2 + 3 + 4 は計算できなくてよい
6. 小数を入力することができなくてもよい
7、配列変数と繰り返し処理を使用すること
212アフォルトの名無しさん:2006/07/20(木) 13:15:53
>210

真っ黒。
213デフォルトの名無しさん:2006/07/20(木) 13:22:59
>212
おまえtranslateしてrotateしたあとにscaleしてるだろ
ばかにつけるくすりはねえな
214デフォルトの名無しさん:2006/07/20(木) 15:36:12
>>211
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=28101
アーボタンをあぼーんボタンと読んでしまったなりw
2+3+4みたいな連続計算もできる。
小数は入力できないけど出力はされる。
配列変数と繰り返し処理はinit()の中で使ってる。
手書きで状態遷移書いてるのでバグってたらごめん。
アプレットかアプリケーションか分からないので両方対応。
215デフォルトの名無しさん:2006/07/20(木) 16:34:35
【 課題 】キーボードから10個の数字を入力する。
      隣同士の足し算をし、以下の例のように1の位の数字を次の行に出力し、
      最後に残った数字を出力する。

      (例)
      数字を入力してください。
      2359318473

      2 3 5 9 3 1 8 4 7 3
       5 8 4 2 4 9 2 1 0
       3 2 6 6 3 1 3 1 (以下略

      最後に残った数字は 2 です。

【 期限 】明日の昼まで
【 補足 】丸投げです。よろしくお願いします。
216デフォルトの名無しさん:2006/07/20(木) 17:23:23
>>215
例の答って合ってます?
1になっちゃうんだけど(^^;;;
こっちのコードが間違ってるのかなあ
import java.io.*;
public class NumberPyramid {
public static void main(String[] args) throws IOException {
System.out.println("数字を入力してください。");
String str = new BufferedReader(new InputStreamReader(System.in)).readLine();
int[] val = new int[str.length()];
for (int i = 0; i < val.length; i++) {
val[i] = Integer.parseInt(String.valueOf(str.charAt(i)));
}
System.out.println();
for (int j = 0; j < val.length; j++) {
for (int i = 0; i < j; i++) {
System.out.print(' ');
}
for (int i = 0; i < val.length - j - 1; i++) {
System.out.print(val[i]);
System.out.print(' ');
val[i] += val[i + 1];
if (val[i] >= 10) val[i] -= 10;
}
System.out.println(val[val.length - j - 1]);
}
System.out.println();
System.out.println("最後に残った数字は " + val[0] + " です。");
}
}
入力文字列のチェックとかいろいろやってないので注意。
217デフォルトの名無しさん:2006/07/20(木) 17:53:26
あー被った足し合わせた所を%10とする以外同じなので却下
218215:2006/07/20(木) 18:17:09
>>216
動作確認したところ正常に動きました。
ありがとうございました。
例に関しては問題の通りに書いたんですけど…
例が間違ってたみたいですね。
219アフォルトの名無しさん:2006/07/21(金) 10:16:38
220デフォルトの名無しさん:2006/07/21(金) 10:40:07
>>219
そりゃ真っ黒で当たり前だ
もしそれで画像が出てたら神
お前は何も描かないで絵が出てくる魔法の画用紙でも持ってますか
一を聞いて十を知れなんて思わないが九教えたら後の一くらいは自分で分かってほしいものだ
何も考えずにただ漫然とコピーするしかできないばかものはもうここに来なくてよろしい
221デフォルトの名無しさん:2006/07/21(金) 11:01:58
>>220
もうスルーしてください
222デフォルトの名無しさん:2006/07/21(金) 12:19:37
うるさいうるさいうるさい!あほの子のことなんてもう何とも思ってないんだから!
プログラミング使えない平民を使い魔にするなんて、あんた、感謝しなさいよね。
貴族にこんなことされるなんて、普通は一生ないんだから!
宿題を頼みすぎるのはあまり頭に良くないんだゾ!ずっきゅ〜ん
223デフォルトの名無しさん:2006/07/21(金) 14:57:17
( ゚д゚ )!?
224デフォルトの名無しさん:2006/07/22(土) 00:35:43
(≡゚∀゚≡)イイニャン
225デフォルトの名無しさん:2006/07/22(土) 12:01:43
>「普段から美味しいものを食べて肥えた舌を持っていないと、
>美味しいものとまずいものの区別がつかないように、
>モニターやキーボードも学生の頃から『一流品』を使っていないと、
>良いものと悪いものがわからない。
http://www.eizo.co.jp/solution/case/educational/ehimedaigaku.pdf
226デフォルトの名無しさん:2006/07/22(土) 16:09:01
スレ違いだけど、
>>225
このキーボード、どこの?
227デフォルトの名無しさん :2006/07/22(土) 16:12:11
プログラム1
整数 in, n, r , stop
r←random(99)
「0から99までの数を1つ考えたので、当ててください。」を印刷する
in←-1
n←1
in ≠rの間、
| nと「回目の挑戦です。」を印刷する
|「0から99までの数を入力してください:」を改行なしで印刷する
| in←input()
| もしin=rならば
| | 「当たり!」を印刷する
| を実行し、そうでなくもしin<rならば
| |「もっと大きい数です。」を印刷する
| を実行し、そうでなければ
| |「もっと小さい数です。」を印刷する
| を実行する
| n←n+1
を繰り返す

課題1、プログラム1は、数当てゲームを一度するプログラムです。(このプログラムを実行するときは、画面右下の「変数表示画面」を小さくして正解が見えないようにしてください)このプログラムを変更して、正解したときのメッセージを、
一回目で当てた時、2〜3回目で当てた時、4〜6回目で当てた時、7回目以降で当てた時で、それぞれ異なる表示をするプログラムにしてください。
さらに、可能であれば、数を7回入力しても当てられないときは「正解は??です。」と表示して終了するようにプログラムを変更してください。(??は正解の数字です。)プログラムの説明も詳しく書いてください。

課題2 プログラム1は、数当てゲームを一度するプログラムです。(このプログラムを実行するときは、画面右下の「変数表示画面」を小さくして正解が見えないようにしてください)このプログラムを変更して、まだ当たっていなくても、
早い回数で当たったように思わせるインチキ数当てゲームにしてください。できるだけ自然に見せる選出工夫してみてください。
 プログラムの説明だけではなく、どのように自然に見せる演出をしたかも詳しく書いてください。
 
大学問題です。 分かる方いたらお願いします。
228デフォルトの名無しさん :2006/07/22(土) 16:18:34
↑は  http://www.media.osaka-cu.ac.jp/PEN/
ここにあるソフトで行うプログラムです
229デフォルトの名無しさん:2006/07/22(土) 16:22:21
>>227
>>1嫁テンプレ使え
おまえこないだの専門学校の講師で自分で問題考えただろw
230デフォルトの名無しさん:2006/07/22(土) 16:36:53
>>226
東プレ 市価2万円くらい
231デフォルトの名無しさん:2006/07/22(土) 16:44:40
専修大学なんんじゃね
232デフォルトの名無しさん:2006/07/22(土) 18:27:04
>>225
なにが一流品だヽ(`Д´)ノ
>javac
'javac' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
の糞大学が・・・○| ̄|_
233デフォルトの名無しさん:2006/07/22(土) 19:43:45
>>227
そもそもJavaの話ではないじゃないか
234デフォルトの名無しさん:2006/07/22(土) 22:06:56
【課題1】
通常プログラムカウンタはプログラムの実行にしたがって一定の大きさだけ増えていく.
しかし,時に,プログラムカウンタに直前の値とは大きく異なる値がセットされる
時がある.それはどんな時か?


【課題2】次のプログラムは何を行うプログラムか.簡単に説明しなさい.また,
結果を得るまでに,A[k]==aの比較が行われた回数を書きなさい.

A=new Array(3, 8, 19, 20, 22, 24, 45);
i=0;
j=A.length-1;
a=19;
k=Math.floor((i+j)/2);
while(i<=j){
if(A[k] == a){
break;
}
else if(A[k] > a){
j = k - 1;
}
else{
i = k + 1;
}
k = Math.floor((i+j)/2);
}
if(i>j) k=-1;
document.write(a," ",k);

【期限】24日までにお願いします
235デフォルトの名無しさん:2006/07/22(土) 22:11:39
Javaじゃねーだろカス
236234:2006/07/22(土) 22:33:20
すみません無知で
これがなんなのかすら分からないもので・・・
237デフォルトの名無しさん:2006/07/22(土) 22:58:21
>>234
2 2分探索 3回
238デフォルトの名無しさん:2006/07/23(日) 03:38:10
>>232
何?そこの学生さんですか?
239デフォルトの名無しさん:2006/07/23(日) 10:47:27
>>232
パスが通ってないだけだろ
クソはお前
240デフォルトの名無しさん:2006/07/23(日) 11:52:59
パスの通ってない大学なんてあるのか?
学校のパソコンは環境変数いじれんかもしれんのに。
241デフォルトの名無しさん:2006/07/23(日) 11:58:41
あるに決まってんだろ
そもそも設定ぐらい自分で出来ないのはバカ
242デフォルトの名無しさん:2006/07/23(日) 12:15:38
>>232
俺の大学はjdkのフォルダや中身にアクセスしようとすると、
「アクセスが拒否されました」って出て使えないから、お前のとこはまだましだぞw
俺はいつも自分のノーパソでコンパイルしている。
243デフォルトの名無しさん:2006/07/23(日) 12:50:47
>>242
それって何のためにjdkが入ってるんだ?
ディスクの肥やし?
244242:2006/07/23(日) 13:48:06
>>243
わからん。何回言っても直してもらえんし。
他にEclipseやBorland C/C++が入ってるが同じようにアクセスが拒否されて使えん。
ちなみにVisualStudioはデバッグする権限がないとでる。
245デフォルトの名無しさん:2006/07/23(日) 14:03:40
どこの糞大学?
うちはシステム管理者が常にいて、
そこに直接言いに行ったら
簡単なものならその場で直してもらえるよ
246デフォルトの名無しさん:2006/07/23(日) 14:11:55
>>242
ユーザが個別にインストールしとけってことだ。
そのほうがjdkのバージョンも管理しやすいという親心。
247デフォルトの名無しさん:2006/07/23(日) 14:54:29
管理しやすいってw
ユーザが個別にインストールする状況なんて管理者にとっては悪夢だ
248デフォルトの名無しさん:2006/07/23(日) 17:32:28
229さん、失礼しました。よろしくお願いします。
【 課題 】プログラム1 このプログラムは数当てゲームを一度するプログラムです。
public class Kazuate {
public static void main(String[] args) throws java.io.IOException {
java.io.BufferedReader br = new java.io.BufferedReader(new java.io.InputStreamReader(System.in));
int in, n, r , stop;
r = (int)(Math.random() * 100);
System.out.println("0から99までの数を1つ考えたので、当ててください。");
in = -1;
n = 1;
while (in != r) {
System.out.println(n + "回目の挑戦です。");
System.out.print("0から99までの数を入力してください:");
in = Integer.parseInt(br.readLine());
if (in == r)
System.out.println("当たり!");
else if (in < r)
System.out.println("もっと大きい数です。");
else
System.out.println("もっと小さい数です。");
n++;
}
br.close();
}
}
課題1 このプログラムを変更して、正解したときのメッセージを、一回目で当てた時、2〜3回目で当てた時、4〜6回目で当てた時、7回目以降で当てた時で、
それぞれ異なる表示をするプログラムにしてください。さらに、可能であれば、数を7回入力しても当てられないときは「正解は??です。」と表示して
終了するようにプログラムを変更してください(??は正解の数字です)。プログラムの説明も詳しく書いてください。
課題2 このプログラムを変更して、まだ当たっていなくても、早い回数で当たったように思わせるインチキ数当てゲームにしてください。
できるだけ自然に見せる選出工夫してみてください。プログラムの説明だけではなく、どのように自然に見せる演出をしたかも詳しく書いてください。
【 補足 】↑は  http://www.sun.com/java/
ここにあるソフトで行うプログラムです
249デフォルトの名無しさん:2006/07/23(日) 17:46:34
すみませんむちむちで
【課題】次のプログラムは何を行うプログラムか.簡単に説明しなさい.また,
結果を得るまでに,A[k]==aの比較が行われた回数を書きなさい.

public class binarysearch{
public static void main(String args[]){
int A[]={3,8,19,20,22,24,45};
int i=0;
int j=A.length-1;
int a=19;
int k=(int)Math.floor((i+j)/2);
while(i<=j){
if(A[k]==a){
break;
}
else if(A[k]>a){
j=k-1;
}
else {
i=k+1;
}
k=(int)Math.floor((i+j)/2);
}
if(i>j)k=-1;
System.out.println(a+" "+k);
}
}

【期限】24日までにお願いします
250デフォルトの名無しさん:2006/07/23(日) 18:23:32
>>248
課題1
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=2811*
URL最後*は一桁の数字。あててくれw
251デフォルトの名無しさん:2006/07/23(日) 18:30:17
252249:2006/07/23(日) 18:53:00
すみませんむちむちで
レスがなんなのかすら分からなかったもので・・・
2分以内で探索してくれるから2分探索なんですね!
253デフォルトの名無しさん:2006/07/23(日) 18:56:40
4点
254デフォルトの名無しさん:2006/07/23(日) 19:27:27
>>250
ありがとうございます。
せっかく答を頂いたのですがsourcepost.sytes.netは現在ディスクぱんぱんエラーで
必要なモジュールをロードできず、ソースを表示できないようです。
ASPが復帰したら確認してみます。
255242 :2006/07/23(日) 20:19:44
>>245
ウラヤマシス。
俺の行ってるみかん大学は・・・orz
256デフォルトの名無しさん:2006/07/23(日) 22:31:20
いきなりで申し訳ないんですけど。
JavaでRSSリーダーを作る事になったんですが、
なんかいいサンプルコードないですか?
いろいろ探してみたんですが、パーサくらいしか無いもので・・・

よろしくお願いします
257デフォルトの名無しさん:2006/07/23(日) 22:41:33
>256
Jena
258256:2006/07/24(月) 00:16:04
>>257
Jenaを調べて、
http://panda.cs.inf.shizuoka.ac.jp/~morita/jena/jena.html
ここを見つけてインストールしようとしたのですが、
ここの通りにやったら、javac Example1.javaのところで
(内部コマンド〜)とエラーが出ました。
Javaのパスはちゃんと通してます。Hellowworldなんかのプログラムは動くんですが・・・

原因分かる方いませんか?
259デフォルトの名無しさん:2006/07/24(月) 00:19:06
>>258
JDK入れてねぇだろ
260256:2006/07/24(月) 00:25:36
>>259
JDKいるんですか?
そこのHPにはいると書いてない気がするんですが
261256:2006/07/24(月) 00:35:09
あ、SDKは入れてます。
バージョンが違うから動かないとか?
262256:2006/07/24(月) 00:40:50
ごめん。俺が悪かったです
PATHの所間違えてた。。。
動いてたのはCpad for Java使ってたからだ・・・
スレ汚しスマンです
263256:2006/07/24(月) 04:25:27
【課題】Javaを用いてRSSリーダーを作成
    読み取ったRSSの更新日時の新しい順に並びかえるプログラムの作成
【期限】26日
【Ver】j2sdk 1.4.2
【補足】Jenaをいろいろ見てみたんですが、よく分かりません・・・
    ほぼ丸投げですが、よろしくお願いします。
264264:2006/07/24(月) 13:17:31
超初心者です。よろしくお願いします。
(Ver) J2SE JDK5.0 Update 7

(Instructions)

NewYorkLottery is your chance to win millions of dollars!
All you have to do is pick five different numbers from 1 to 50
and one MEGA number from 1 to 25 and match them to the numbers drawn.
Write a NewYorkLottery Simulator Program in modular form.
This program should utilize at least one other method outside
of main to generate these numbers.
Remember the five numbers from 1 to 50 must be different!
The MEGA number can be the same as one of the five numbers.

(Example Output)

NewYorkLottery Simulator

This Week’s Winning Numbers Are:

153972348MEGA number 21
265デフォルトの名無しさん:2006/07/24(月) 14:07:10
ttp://www.gihyo.co.jp/books/support.php/4-7741-2177-0
こんなに何回もマジでしつこいですがプログラム引数教えてくれませんか?
本当にお願いします
266デフォルトの名無しさん:2006/07/24(月) 14:39:00
>>265
ヒマだから、俺の堪忍袋の緒の強度の範囲で少しだけ付き合ってやる。
まず、何がわかんねーんだ?
「プログラム引数」の意味か? 簡単にいうとプログラムに与えるパラメータだ。 ググれ。
Eclipseでの実行の仕方か? だったらこのスレに優しいヤツがいたから書いてある。

リンク先サイトのプログラムに関する質問は、本に書いてあるはずだ。
ここで聞く前にその本を読め。
267デフォルトの名無しさん:2006/07/24(月) 16:53:11
コマンドライン引数でググった方がいいかもな
268デフォルトの名無しさん:2006/07/24(月) 19:31:18
>>263
仕様がはっきりしてないのでよく分からないが、複数のRSSを読み取ってその更新日時をソートすると決め付け。
コマンドライン引数でRSSのURLリスト(1行1URL)の入ったファイル名を指定。
もし更新日時の情報がない場合は更新日時は遠未来とみなしてソートしている。つまり新しい順なので先頭にくる。
RSSパーザには ttp://informa.sourceforge.net/ を使った。使い方はそんなに難しくないのでドキュメントを参照汁。
libのうちinforma.jar、jdom.jar、commons-logging.jarにクラスパスが通っていれば、下のコードは通ると思う。
import java.io.*;
import java.net.URL;
import java.util.*;
import de.nava.informa.core.ChannelIF;
import de.nava.informa.impl.basic.ChannelBuilder;
import de.nava.informa.parsers.FeedParser;
public class RSSReader {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new FileReader(args[0]));
ArrayList infos = new ArrayList();
String str;
while ((str = br.readLine()) != null) {
URL url = new URL(str);
ChannelIF channel = FeedParser.parse(new ChannelBuilder(), url);
infos.add(new Info(url, channel.getTitle(), channel.getPubDate()));
}
br.close();
Collections.sort(infos);
Collections.reverse(infos);
for (int i = 0; i < infos.size(); i++) {
Info info = (Info)infos.get(i);
System.out.println(info.getUrl() + " : " + info.getTitle() + " : " + info.getDate());
}
}
269デフォルトの名無しさん:2006/07/24(月) 19:31:50
static class Info implements Comparable {
private URL url;
private String title;
private Date date;
Info(URL url, String title, Date date) {
this.url = url;
this.title = title;
this.date = date;
}
public int compareTo(Object o) {
if (date == null) if (((Info)o).getDate() == null) return 0; else return 1;
return (((Info)o).getDate() == null) ? -1 : date.compareTo(((Info)o).getDate());
}
public URL getUrl() { return url; }
public String getTitle() { return title; }
public Date getDate() { return date; }
}
}
バージョン1.5で-source 1.4を使ってコンパイルして確認したので、もし駄目なら適当に直してくれ。
Infoがstaticなのはmainから呼んでいるためなのでRSSReaderのインスタンスを作ってそこから参照するならstaticは不要。
エラーハンドリングちょーてきとーなので、URLからのデータ取得で時間切れとかでも途中でプログラムが止まる。
テストするなら最初のうちはローカルファイルに落としたRSSファイル群に対して行った方がよいかもしれぬ。
あまりテストしていないので扱えないRSSとかあるのかもしれず。

もし、課題が一つのRSS内のitemの更新日時のソートであるのなら、
ChannelIF#getItems()でItemのCollectionを取得して各要素に対してItemIF#getDate()で日付を取得するがよかろう。
課題の意図がつかめないので、もしXMLの扱いとかの練習であったのなら地道にRSSのパーザを書くしかないが。
270デフォルトの名無しさん:2006/07/24(月) 21:25:41
【 課題 】ホームページで使用できる階層型メニューバーを下記項目で作成しなさい
■トップ
■サイト
  ○サイトの目的
  ○管理人について
■リンク
  ○私の友人たち
  ○おすすめサイト
     ・環境に関するサイト
     ・情報に関するサイト
【 期限 】26日
【 補足 】
課題には画像があったのだがうpできないので参考url
ttp://www.pat.hi-ho.ne.jp/oka_tosho/nav_bar3/nav_bar3v.htm
こんな感じでマウスのせたら右側にメニューがでるものを作りたい
これをパクればと思ったが、アフォには理解できずorz
おながいします
271デフォルトの名無しさん:2006/07/24(月) 21:27:30
>>264
翻訳の課題だな?

ニューヨークくじで億万長者キタコレ
1〜50から五つの数字、そして1〜25から一つのメガナンバーを選ぶだけでおK
五つの数字はダブっちゃだめだぜ。メガナンバーはどれでもいいぜ。

今週の当選番号は・・・

15 39 7 23 48

そして注目のメガナンバーは・・・ 21!


これだけ分かれば十分だな。
272デフォルトの名無しさん:2006/07/24(月) 21:42:44
>>270
巣に帰れ!
273デフォルトの名無しさん:2006/07/25(火) 08:25:56
>>266
実行するときのプログラム引数の値が分からないのです。何を入れたらいいのか・・・
本を見ても実行画面も実行の仕方も書いてないんです。なので引数とどこに実行したいプログラムを
打ち込めばいいか教えていただけるとうれしいです。
274デフォルトの名無しさん:2006/07/25(火) 09:05:59
>>273
時間は腐るほどあったんだからちゃんとソースを読め
java Cell [-tcj] 実行したいプログラム名
275デフォルトの名無しさん:2006/07/25(火) 11:35:18
こんな程度のやつに
[-tcj]
なんて表記がわかるとは思えんな。
276デフォルトの名無しさん:2006/07/25(火) 12:28:08
【課題】8クイーン問題を解く。位置も表示
【期限】なるべくはやく
よろしくおねがいします。レポート終わらない
277デフォルトの名無しさん:2006/07/25(火) 12:33:57
278256:2006/07/25(火) 13:09:29
>>268
丁寧にありがとうございます。
仕様の方はそれでいいと思います。
コンパイルは上手く行き、動かそうとしたのですが・・・
Exception in thread "main" java.lang.NoClassDefFoundError: RSSReader
こんなエラーが出ました。
これはどうすればいいのでしょうか?
ほんと、聞いてばかりですみません・・・
279デフォルトの名無しさん:2006/07/25(火) 13:15:47
280256:2006/07/25(火) 13:56:55
>>279
ありがとうございます。
しかし、そのHPを見る限り、実行がうまくいかない場合(その1)
のエラーと酷似してますが、
実行時のうち間違いは無いです。
javac RSSReader.java
java RSSReader
とちゃんと入力したのですが・・・
281デフォルトの名無しさん:2006/07/25(火) 14:42:43
>>280
カレントディレクトリがクラスパスに入ってないのかなあ?
全然見当違いかもしれないけど、
java -cp .;informa-0.6.5/lib/informa.jar;informa-0.6.5/lib/jdom.jar;informa-0.6.5/lib/commons-logging.jar RSSReader rsslist.txt
こんな感じで実行してみるとどうですじゃろ?
"informa-0.6.5/lib/"はinformaのjar群が入っているディレクトリなので環境に合わせて適当に変えてください。
282256:2006/07/25(火) 14:59:12
>>281
ありがとうございます。
実行してみましたが、
Exception in thread "main" java.lang.NoClassDefFoundError: de/nava/informa/core/
ChannelBuilderIF
というエラーが出ました。
パスが通ってなければコンパイルも無理だと思うのですが、見当違いでしょうか?
283デフォルトの名無しさん:2006/07/25(火) 15:29:00
>>282
少なくともクラスローダがRSSReaderは見つけたらしいですにゃ。
ChannelBuilderIFはinforma.jarに含まれているので、そのエラーが出るのは不思議な気が。
クラスパス指定なしでコンパイルできているということはCLASSPATHにinformaのjarを指定しているのだと思うけど、
CLASSPATHに"."が入ってないとか。
結果は同じことみたいな気がするけど、
java -cp .;%CLASSPATH% RSSReader listfile
とかではどうなんじゃろ? あ、上はWindows環境のときなので。
284256:2006/07/25(火) 15:37:56
>>283
ありがとうございます。
えーと・・・
C:\informa-0.6.5\lib>java -cp .;%CLASSPATH& RSSReader listfile
Usage: java [-options] class [args...]
(to execute a class)
or java [-options] -jar jarfile [args...]
(to execute a jar file)

where options include:
-client to select the "client" VM
-server to select the "server" VM
-hotspot is a synonym for the "client" VM [deprecated]
The default VM is client.

-cp <class search path of directories and zip/jar files>
-classpath <class search path of directories and zip/jar files>
A ; separated list of directories, JAR archives,
and ZIP archives to search for class files.
-D<name>=<value>
set a system property
-verbose[:class|gc|jni]
enable verbose output
・・・・・・・(長いのではしょります)

'RSSReader' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
もう何がなんだか・・・
あ、RSSReader.javaはInforma-0.6.5/lib/の中に入れてあります。
285デフォルトの名無しさん:2006/07/25(火) 16:02:34
>>284
libの中でコンパイルしてたのかあ。ということはCLASSPATHを特に設定していないのかな?
でも、それだとコンパイルが通るのが不思議だ。こちらで同じようにやると、
javac -source 1.4 -cp informa.jar;jdom.jar RSSReader.java
って、-cp付けないとコンパイル通らないお。-source 1.4は余計だが。
java -cp .;informa.jar;jdom.jar;commons-logging.jar RSSReader listfile
で動きません?
クラスパス関係で苦労したことが全くないのでこういうトラブルには不向きだ……
286デフォルトの名無しさん:2006/07/25(火) 16:09:07
>>284
あー、
> 'RSSReader' は、内部コマンドまたは外部コマンド、
なのは原因分かった。
> >java -cp .;%CLASSPATH& RSSReader listfile
の"%CLASSPATH&"は"%CLASSPATH%"ですじゃ。まあ問題が解決するわけではないけど。
287256:2006/07/25(火) 16:15:55
いろいろ調べてみたら、1.5で書いてる奴を違うバージョンで動かすとそんなのになる
という記述を発見したので、JDK1.5.07をインストールしてみた。
前の奴はアンインストしました。javaとjavacのバージョンは一致
これもバージョンが違うとそんなエラーが出ると記述があったので調べてみました。
>>285
ありがとうございます
Exception in thread "main" java.io.FileNotFoundException: listfile (指定されたフ
ァイルが見つかりません。)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(Unknown Source)
at java.io.FileInputStream.<init>(Unknown Source)
at java.io.FileReader.<init>(Unknown Source)
at RSSReader.main(RSSReader.java:9)
こんな感じになりました。なんか足りないものがあるんですかね?

>>286
%CLASSPATH%じゃなくて""の中に書けって事ですね?やってみます。
288256:2006/07/25(火) 16:17:01
>>286
>>287とまったく同じ結果になりました・・・
289デフォルトの名無しさん:2006/07/25(火) 16:19:27
>>287
いや、そりゃ、RSSのURLを書いたファイルとしてlistfileというものを用意しなきゃ
listfileはあくまでも例であって、それじゃパスワードにpasswordって入れる人みたいじゃよw
285のやりかたで動いてるみたいじゃね
286の方はCLASSPATH設定してないんだからやっても意味がないお
290256:2006/07/25(火) 16:28:36
>>289
ありがとうございます。
えーとlistfileって.txtでいいんですか?
場所はJavaが置いてある場所でいいんですよね?
なんとなくいるんじゃないかと思っていたのですが、
今まで私は、ファイル読み込みする時には、=("listfile.txt")って書き方をしていたので
どこでlistfile.txtをロードしてるのかわからないもので・・・
291デフォルトの名無しさん:2006/07/25(火) 16:32:25
>>290
普通にテキストファイルでいいですじゃよ。
場所もとりあえずカレントディレクトリでいいと思う。
> コマンドライン引数でRSSのURLリスト(1行1URL)の入ったファイル名を指定。
ね。

BufferedReader br = new BufferedReader(new FileReader(args[0]));
でファイルストリーム開いて、
str = br.readLine()
で1行づつ読み込んでいる。
292256:2006/07/25(火) 16:43:42
>>290
ありがとうございます。
listfile.txtの中身
http://allabout.co.jp/rss/all/index.rdf
http://allabout.co.jp/rss/ranking/index.rdf

で、RSSReader.javaと同じフォルダに入れて実行した所、
>>287と同じエラーが出てしまいました・・・。なんでだろ???
293デフォルトの名無しさん:2006/07/25(火) 16:47:07
>>292
> 同じエラーが
ってことは、
java -cp .;informa.jar;jdom.jar;commons-logging.jar RSSReader listfile
って実行したんじゃ……
java -cp .;informa.jar;jdom.jar;commons-logging.jar RSSReader listfile.txt
にしなきゃ。無いファイルは当然読めません。
294デフォルトの名無しさん:2006/07/25(火) 16:52:19
>>292
いまそのRSS見たけど、どちらもchannelには更新日時の情報入ってないね。
itemには入っているものもあるようだけど。
295256:2006/07/25(火) 16:57:58
>>293
ありがとうございます。
確かにそうですね。何やら焦ってました。親切にありがとうございます。
ちゃんと動きました。

>>294
ありがとうございます。
確かに入ってなかったです・・・
でもとりあえず動かしたかったので、なんでもいいかなーと思いました。
結果は、
http://allabout.co.jp/rss/ranking/index.rdf : All About[人気記事ランキング] : nu
ll
http://allabout.co.jp/rss/all/index.rdf : All About[オールアバウト] : null
となりました。このnullの部分に更新日時ですよね?

あとこのプログラムの構造図みたいなのを書きたいのですが、
ソースを視覚化してくれるよーなツールはありますか?
296デフォルトの名無しさん:2006/07/25(火) 17:05:24
>>295
ttp://www3.asahi.com/rss/index.rdf
ttp://www.mainichi-msn.co.jp/rss/today.rdf
ttp://nikkeibp.jp/jp/flash/index.rdf
あたりで確かめてみるといいかも。
> このnullの部分に更新日時ですよね?
です。更新日時がないとnullになる。

構造の視覚化ツールってUMLツールみたいなものなのかな?そのあたりは知らないや。
297デフォルトの名無しさん:2006/07/25(火) 17:21:06
【 課題 】以下のプログラムの不具合の発生箇所を示し、その理由を答えよ。
class Point {
  protected int x; protected int y;
  public int sum() { return x+y; }
}
class ColorPoint extends Point {
  protected int c;
  public int sum() {
    return (super.sum())+c;
  }
}
class ThreeDPoint extends Point {
  protected int z;
  public int sum() {
    return (super.sum())+z;
  }
}
class NewPoint extends ColorPoint {}
class Test {
  ColorPoint cp;
  public int foo(Point p){
    cp = (ColorPoint)p; return cp.sum();
  }
  public int bar() {
    Point p = new ThreeDPoint();
    return foo(p);
  }
  static public void main (String[] args) {
    Test tmp = new Test(); tmp.bar();
  }
}
3問わからないうちの1問目です。よろしくお願いします。
298デフォルトの名無しさん:2006/07/25(火) 17:33:13
走らせてみたらいいんちゃうん
299デフォルトの名無しさん:2006/07/25(火) 17:43:01
>>297
発生箇所は実行すればスタックトレースで出てくる
理由は代入互換性のない型に代入しようなんてふざけたことをやってるから
300297:2006/07/25(火) 17:44:43
>>298
実際に走らせてみたところ以下のメッセージが表示されました
>Exception in thread "main" java.lang.ClassCastException: ThreeDPoint
>  at Test.foo(prog1_1.java:27)
>  at Test.bar(prog1_1.java:32)
>  at Test.main(prog1_1.java:36)

テンプレに丸投げ推奨とあったので書きませんでしたが、
「キャストのルールに反している部分がある?」と思っています
いずれにしろエラーを除去して正しいプログラムを作成するに至っていません
301デフォルトの名無しさん:2006/07/25(火) 17:50:10
>>300
プログラムが何をやりたいのかがわからないから正しいプログラムとは何かがわからない
単にエラーを除去するだけでいいのならclass ThreeDPoint extends Pointを
class ThreeDPoint extends ColorPointにすりゃいい
302デフォルトの名無しさん:2006/07/25(火) 17:50:38
fooの引数にわたってるのは実際にはThreeDPoint
ThreeDPointはPointに代入できるしColorPointもPointに代入できるがThreeDPointはColorPointと関係ないからにキャストできない。。

何がやりたいプログラムなのかさっぱりだから正しいプログラムが何かもさっぱりわからん。
こんなもの正しいプログラムなんて正解はないよ。



いつも思うが、こういう意味不明なプログラムを問題として出すのはどうかと思うのだが。
303297:2006/07/25(火) 17:54:58
ageてしまいました(;´Д`)すみません

みなさん解答ありがとうございます
あまりJavaの問題に触れる機会が無いものだからこの課題の意図することを理解していませんでした
どうやらエラーを除去することのみが目的のようなので、みなさんの指摘を参考にして作文します
304デフォルトの名無しさん:2006/07/25(火) 17:58:27
class Test {
static public void main (String[] args) {
}
}
これでも実行時エラーなくなるよ
305デフォルトの名無しさん:2006/07/25(火) 18:03:13
>>274
*ファイルを開けません。java.io.FileNotFoundException: java (指定されたファイルが見つかりません。)
て出るんですけどどうすればいいでしょうか?ここまで丁寧に教えていただいて恐縮なんですがお願いいたします
306256:2006/07/25(火) 18:06:55
>>296
ありがとうございます。
ばっちり動きました。

UMLツールとはどんなものですか?
できれば自動的に構造図、クラス図を描いてくれるツールがありがたいのですが
307デフォルトの名無しさん:2006/07/25(火) 18:12:57
>>306
>>1嫁教えてもらったキーワードでググるぐらいしろ。単発質問はスレ違い。
308デフォルトの名無しさん:2006/07/25(火) 18:36:10
>>306
↓これの「リバース・エンジニアリング」っていう機能でできるよ。
http://www-06.ibm.com/jp/software/rational/products/design/roseenter/

価格はライセンスの種類とか条件とかで変ってくるから、まずはお近くの
ビジネスパートナーまでご連絡ください。
309297:2006/07/25(火) 19:26:13
再度失礼します。2問目はどうにかなったのでもうひとつの課題をみてください。

【 課題 】以下のプログラムをエラーが出ないように修正し、その理由を説明せよ。
以下のエラーが出る場合があった
 Exception in thread "main" java.lang.ArithmeticException: / by zero
   at SomeLibraryClass.ichi(Test.java:24)
以下、プログラム
class Test {
  static public void main(String[] args) {
    int c;
    if(args.length > 0){ c = Integer.parseInt(args[0]);} else{ c = 0;}
    System.out.println(" > " + (new UserWrittenClass()).invoke(c));
  }
}
class UserWrittenClass{
  int invoke(int x){
    SomeLibraryClass some = new SomeLibraryClass();
    int y = some.ichi(x); return(y + 10);
  }
}

よろしくお願いします。
310256:2006/07/25(火) 19:27:45
>>307
すみません。軽率でした。

>>308
ありがとうございます。
311デフォルトの名無しさん:2006/07/25(火) 19:58:21
>>309
エラーを出してる元凶のSomeLibraryClassを出さないでどうやって理由を知るんだろ
312デフォルトの名無しさん:2006/07/25(火) 19:59:12
荒らし認定だな
313デフォルトの名無しさん:2006/07/25(火) 20:00:15
304の方法がベストだな
314デフォルトの名無しさん:2006/07/25(火) 20:00:36
>>309
    System.out.println(" > " + (new UserWrittenClass()).invoke(c));

の行を次の7行に置き換える。

    UserWrittenClass uwc = new UserWrittenClass();
    try {
      int r = uwc.invoke(c);
      System.out.println("> " + r);
    } catch(ArithmeticException e) {
      System.out.println("私はこの課題がわかっています");
}

エラーが出ていたのはSomeLibraryClassのichi(int)メソッドの中で
ゼロ除算が発生する場合があるからなので、そのようなケースを
特別扱いすることにした。
315297:2006/07/25(火) 20:25:59
>>314
解答ありがとうございます
例外処理は全く頭にありませんでしたのでこの機会に理解しながらレポートを書くことにします
316デフォルトの名無しさん:2006/07/25(火) 20:51:25
【 課題 】
キーボードからテストの点を入力し、その平均点を出力するコードを記述してください。
ただし、入力の最後には0を入力しプログラムがそれを判断して
点数の平均値を出力するものとします。
while文を使うこと。
です。お願いします。
317デフォルトの名無しさん:2006/07/25(火) 20:53:52
それってエラーが出ないように修正したんじゃなくてエラーを捕捉しただけじゃないのか
318デフォルトの名無しさん:2006/07/25(火) 20:59:47
【 課題 】自由課題なのでどんな内容でもいいです
【 期限 】27日です
【 補足 】当方、学部生1年です。JAVAは時間の都合で3回しか授業を行っていない上、最後の授業でも、スイッチを押すとsinのグラフが表示されるというプログラム程度のレベルでした。これを参考にどなたかよろしくお願いします。
319デフォルトの名無しさん:2006/07/25(火) 21:05:27
>>316
import java.io.*;
public class Average {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int sum = 0, n = 0;
System.out.print("テストの点:");
int in;
while ((in = Integer.parseInt(br.readLine())) != 0) {
sum += in;
n++;
System.out.print("テストの点:");
}
br.close();
if (n > 0)
System.out.println("平均点:" + ((float)sum / n));
}
}
320デフォルトの名無しさん:2006/07/25(火) 21:33:35
>>318
ちょw
いくら丸投げ推奨でも丸投げ過ぎ。
せめてテーマくらい自分で決めようよ。
それと3回しか授業が無かったって、どの程度のことを教えてもらったのかな?
グラフ表示というのはアプレットによる実行?
最低限、(1)テーマ、(2)アプレットかアプリケーションか、(3)Javaバージョン、
(4)文法はとりあえず全部カバーしたのか、くらいは情報出さないとね。
321デフォルトの名無しさん:2006/07/25(火) 21:35:04
>>320
おまえ親切だな
俺はもう無視決定だったのに
322デフォルトの名無しさん:2006/07/25(火) 21:39:27
>>321
いや
やるやらないは当然別問題
323デフォルトの名無しさん:2006/07/25(火) 21:41:54
>>319
ありがとうございます。
プログラム見る限り自力じゃムリぽいです。助かりました。
324デフォルトの名無しさん:2006/07/25(火) 21:48:50
>>323
自分でコード書くのは無理っぽくても
せめてそのコードが何をどうしてるのかくらいは理解するよう努力しような。
丸写しだけじゃ力にならんぞ。
325256:2006/07/25(火) 22:50:51
また質問なのですが
>>268のソースは大体理解したのですが、

>>269のstatic class Info implements Comparable { から↓の部分が何やってるのか分かりません。
この機能だけなら>>268のソースだけで事足りそうなんですが・・・

誰か少し詳しく教えて貰えませんか?
326デフォルトの名無しさん:2006/07/25(火) 22:56:30
ヒントは
Comparableインターフェースは
何のために使われてるのかってところだな
327256:2006/07/25(火) 23:21:01
>>326
調べてみました。順序付けですか
という事は、URLとタイトルと日付の順序付けして、関連を持たせてるって事ですか?
更新日時だけ動かしたら意味がないから、
その更新日時のURLとタイトルも一緒に動かす為のクラスですかね?
328デフォルトの名無しさん:2006/07/25(火) 23:45:06
>>327
更新日時だけのソートならDateのCollectionを作って、それをソートすればいい。
でも、それでは出力がわけわかめなので、
ひとつのRSSにつきURLとタイトルと更新日時をまとめたものをInfoというクラスにした。
このクラスに必要なメソッドとしてはアクセッサと、Collections#sort()を使うためのcompareToメソッド。
Collections#sort()でInfo同士を比較するときに、更新日時を比較するようにcompareToを実装した。
結果的に3つの情報がまとまって動いて、ソートされた状態のCollectionが得られる。
329256:2006/07/25(火) 23:49:14
>>328
詳しく教えて頂いてありがとうございます
330デフォルトの名無しさん:2006/07/25(火) 23:53:46
ソートも自分でコーディングするならこんなクラスを定義しなくても済ませる方法もある。
それと、必ず更新日時が得られることが分かっているなら、
更新日時のためのDateがnullにはならないので、
compareToの実装はもっと簡単になって、date.compareTo(((Info)o).getDate())を返すだけ。
331デフォルトの名無しさん:2006/07/26(水) 03:12:45
>318
import java.applet.*;import java.awt.*;import java.awt.event.*;public class
Res1152253441_318 extends Applet implements ActionListener{private boolean f=
false;private Button b=new Button("plot");private Panel p=new Panel(){public
void paint(Graphics g){if(f){int y=w(0);for(int i=1;i<=100;i++){int z=w(i);g.
drawLine(i-1,y,i,z);y=z;}}}private int w(int i){return (int)(Math.cosh((double)
(i-50)/50)*-200+300);}};public void init(){b.addActionListener(this);p.setSize
(100,100);setLayout(new BorderLayout());add(b,BorderLayout.NORTH);add(p,
BorderLayout.CENTER);}public void actionPerformed(ActionEvent e){f=true;p.
repaint();}}
332デフォルトの名無しさん:2006/07/26(水) 03:41:15
【 課題 】ブラックジャックを作る。
(ただしカードは1〜10まで、Aは1か11か有利なほうになる。)

1)1回ごとに乱数を発生させて、毎回引いたカードを表示。
”N”以外を入力すれば次のカードを引く。
”N”を入力すれば終了し、ポイントを表示。
21を超えれば「負け」の表示。

2)
ディーラーとプレイヤーで対戦プログラムを作り、
両者の勝負を判定するプログラムを作る。

【 期限 】本日の夕方まで…。

かなり苦戦してますorz
これを完成させないと単位が…orz
期限が短いのですが助けていただけたらありがたいです…。
333デフォルトの名無しさん:2006/07/26(水) 07:41:31
なんでもっとはやく言わないのか
334デフォルトの名無しさん:2006/07/26(水) 07:50:19
>>332
情報がなんかあいまいなんだが・・
カードってのはトランプだよな?
ってことは最大4枚同じナンバーのカードがくるんだよな
1ってのはAのことだよな?
ジョーカーはどうなった?
つまるところ40枚のトランプでBJやるってことか?
ディーラーとプレイヤーってのはどっちもユーザなのか?
335デフォルトの名無しさん:2006/07/26(水) 08:41:01
>>334
すみませんorz

課題内容に書いてある内容もかなり曖昧なのです…。
A〜10までのカードだけで考えて
あとのJ、Q、Kとジョーカーは考えないと言うことです…。
ディーラーとプレイヤーにも特に規定がないので
両方ユーザーで良いと思います。

お願いしますorz
336デフォルトの名無しさん:2006/07/26(水) 09:55:38
>>332
あとCUIで構わないのかSwingとかを駆使してGUIにせにゃならんのかも
ちゃんと書いとけ。
ギリギリにできあがってから「これじゃダメです!」とかあり得んし。
337332:2006/07/26(水) 10:13:20
>>336
CUIで大丈夫かと思います。
無知ですみません…。

お願いしますorz
338デフォルトの名無しさん:2006/07/26(水) 11:51:31
【課題】ArrayListの中身の種類を数えよ。
ArrayListの中身は以下の内容が入っており、要素の数は変動するものとする。
値はObjectとして代入されている。

ArrayList:[AA,AB,AB,AC,AC,AA,AC,AB,AB,AA,AC]

ArrayListは自ら上記の内容で作成せよ。
大文字、小文字は考えなくてよい。
種類は別のArrayを作成しそこに保存し、種類の値を表示せよ。
表示はCUIに表示せよ。

【期限】今日中がうれしいです。
forとifの繰り返しなんですがうまいこといかない・・・
自分ではこんな感じに作ってみたんですが、よくわかんねっす。

ArrayList syurui = new ArrayList();
for (int i = 0; i < ArrayList.size(); i++) {
boolean mark = true;
String check = (String)ArrayList.get(i);
for (int j = 0; i < syurui.size(); j++) {
if (syurui.get(j) == ArrayList.get(i)) {
mark = true;
break;
} else if(mark == false){
continue;
}
}
}
339デフォルトの名無しさん:2006/07/26(水) 12:11:37
>>332
1)
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=28124
2)
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=28125
かなりいいかげんに書いているので注意。バグってるかも。
あまりブラックジャックのルールを知らないので、勝敗はポイントがより21に近いほうを勝ちとした。
340デフォルトの名無しさん:2006/07/26(水) 12:24:12
あ、もちろん、一方だけが21を超えていなければ、そちらが勝ち。
341デフォルトの名無しさん:2006/07/26(水) 12:36:47
>>338
その授業では、Javaのバージョンは1.4と5.0のどちらだ?
それで少し解答が変わってくる。
342デフォルトの名無しさん:2006/07/26(水) 12:37:12
>>338
かなり意味不明の課題なのだが、ArrayList中のAAとかABとかは何?
"AA"とか"AB"とかのStringオブジェクトという意味?
種類というのはシンボルの違いによる種別のこと?
種類の値というのは同じシンボルが何個含まれているかということ?
課題の場合だと、AAが3、ABが4、……ということ?
343338:2006/07/26(水) 12:40:35
>> 341

1.4です。

>>342

ArrayListの中にAA・・・という文字情報を
Stringオブジェクトとして入れています。
課題の場合の種類というのは、AAとABとACの3種類っていう事ですね
すいません、説明不足で・・・
344デフォルトの名無しさん:2006/07/26(水) 13:10:33
>>343
こんな感じ?
// ArrayList作成
String[] object = {"AA","AB","AB","AC","AC","AA","AC","AB","AB","AA","AC"};
ArrayList arrayList = new ArrayList();
for (int i = 0; i < object.length; i++)
arrayList.add(object[i]);
// 種類を数える
ArrayList syurui = new ArrayList();
for (int i = 0; i < arrayList.size(); i++) {
Object s = arrayList.get(i);
if (! syurui.contains(s)) syurui.add(s);
}
System.out.print("種類は");
for (int i = 0; i < syurui.size(); i++)
System.out.print(syurui.get(i) + (i == (syurui.size() - 1) ? "の" : "と"));
System.out.println(syurui.size() + "種です");

AbstractCollection#contains()はequalsで比較してた気がするのでこれでいいのかな?
345デフォルトの名無しさん:2006/07/26(水) 13:13:51
>>338
ほい。

import java.util.*;

public class ExclusiveSet{
public static List sourceList = new ArrayList();
public static void main(String[] args){
sourceList.add("AA");
sourceList.add("AB");
sourceList.add("AB");
sourceList.add("AC");
sourceList.add("AC");
sourceList.add("AA");
sourceList.add("AC");
sourceList.add("AB");
sourceList.add("AB");
sourceList.add("AA");
sourceList.add("AC");
ExclusiveSet set = new ExclusiveSet(sourceList);
System.out.println(set.size());
}
346デフォルトの名無しさん:2006/07/26(水) 13:14:31
private Set exclusiveSet;
public ExclusiveSet(List sourceList){
exclusiveSet = new HashSet();
Iterator iterator = sourceList.iterator();
while(iterator.hasNext()){
Object content = iterator.next();
if(!exclusiveSet.contains(content)){
exclusiveSet.add(content);
}
}
}
public int size(){
return exclusiveSet.size();
}
}
347デフォルトの名無しさん:2006/07/26(水) 13:17:55
「別のArrayを作成し」ってこっとだったが、本質的にArray(つーかList?)を
使うべき場面じゃないって勝手にこだわってSetを使った。
まあ自分が嫌なら、自分でList使って書き直してみれ。
このソースで方針自体は理解できるだろうし、自分の課題なんだから、
それぐらいやってもバチはあたらんだろう。
348デフォルトの名無しさん:2006/07/26(水) 13:20:43
今確認してみたら、Listにもcontains()が実装されることになってるから、
まあ型名と、気が向くなら変数名も改変すりゃ、完成品になるだろうよ。
349338:2006/07/26(水) 13:20:43
>>344

そんな感じです。ありがとうございます。
動作確認をしたんですが、ソースの所で
最後のfor文を抜けた時にCUIに吐き出すようにしたいんですが、
どう書き換えればよいのでしょうか??
350デフォルトの名無しさん:2006/07/26(水) 13:22:03
>>343
作りかけのソースはcontainsやindexOfも使いたくない感じみたいなのでこれでどうよ
種類を数えるforループの中だけ

ArrayList syurui = new ArrayList();
for (int i = 0; i < arrayList.size(); i++) {
Object s = arrayList.get(i);
boolean notFound = true;
for (int j = 0; j < syurui.size(); j++) {
if (syurui.get(j).equals(s)) {
notFound = false;
break;
}
}
if (notFound) syurui.add(s);
}
351デフォルトの名無しさん:2006/07/26(水) 13:26:11
>>349
最後のfor文ってどこのfor文よ
種類を数え終わってそのfor文抜けたらちゃんとCUIに結果吐き出してるじゃん
352デフォルトの名無しさん:2006/07/26(水) 13:29:10
>>344
>>351のような錯覚が起こるんだから、ループはちゃんとネスト汁
353デフォルトの名無しさん:2006/07/26(水) 13:29:43
間違えた、

>>351
>>349のような錯覚が〜

だな。
354338:2006/07/26(水) 13:32:10
>>351

for (int i = 0; i < syurui.size(); i++)
System.out.print(syurui.get(i) + (i == (syurui.size() - 1) ? "の" : "と"));
System.out.println(syurui.size() + "種です");
ここの部分ですが、main自体から吐き出す場合です。
これはfor文の中で吐き出してるって事じゃないんでしょうか??
すいません、よくわからないもので・・・
355338:2006/07/26(水) 13:34:45
>>350

ありがとうございます。求めてた形です。
356デフォルトの名無しさん:2006/07/26(水) 13:35:17
>>352
ネストするとは、ループ内容をブレースで囲むという意味で使っているのかな?
きちんとしたコードの時は単文でもブレースで囲むけど、
ここでレスするときは行数減らしに囲わないこともある。
357デフォルトの名無しさん:2006/07/26(水) 13:35:58
>>354
>>345はヌルーかよ。まあ別にいいけど。
てか、インデントしてみろ。疑問は晴れるはずだ。
358デフォルトの名無しさん:2006/07/26(水) 13:38:58
>>354
うーん、本当に勘違いするのかorz
for (int i = 0; i < syurui.size(); i++)
System.out.print(syurui.get(i) + (i == (syurui.size() - 1) ? "の" : "と"));
System.out.println(syurui.size() + "種です");

for (int i = 0; i < syurui.size(); i++) {
System.out.print(syurui.get(i) + (i == (syurui.size() - 1) ? "の" : "と"));
}
System.out.println(syurui.size() + "種です");
の意味です。このfor文は種類の内容を書き出すためのものです。
359338:2006/07/26(水) 13:44:51
>>345

ヌルーしちゃいました。ごめんなさい。
System.out.println(set.size());
ここの部分でエラーがでてしまうんですが、と思ったんですが、
下に続いてることがわかりました。すいません。これも
求めていた形です。

>>358

すいません。そういうことだったんですか。わざわざ説明ありがとうございます。
360338:2006/07/26(水) 13:47:47
すいません、質問なんですが
そのAA,AB…っていう内容を
どのような順番で並んでいるかという情報を得るにはどうしたら
いいんでしょうか?
例えば、AAなら0、ABなら1、ACなら2見たいな感じです。
並んでいるのがAA,AB,ACなら0,1,2と言う風に表示したい時は
どうすればいいのでしょうか??
361デフォルトの名無しさん:2006/07/26(水) 13:50:36
>>360
何を言いたいのかがイマイチ見えない。
普通に list.get(i) したり、iterator.next() したりするのとは何が違うんだ?
362デフォルトの名無しさん:2006/07/26(水) 14:05:06
>>360
こう?さっきのコードの後ろにでもアペンド汁

System.out.print("リストの中でのオブジェクトの並びは");
for (int i = 0; i < arrayList.size(); i++) {
Object s = arrayList.get(i);
int index;
for (index = 0; index < syurui.size(); index++) {
if (syurui.get(index).equals(s)) {
break;
}
}
System.out.print(index + (i == (arrayList.size() - 1) ? "です" : ","));
}
System.out.println();
System.out.print("ただし、");
for (int i = 0; i < syurui.size(); i++) {
System.out.print(i + "は" + syurui.get(i) + (i == (syurui.size() - 1) ? "です" : "、"));
}
System.out.println();

せっかくあるメソッドを使えないのは苦痛だ
363338:2006/07/26(水) 14:21:26
>>361

Arrayの内容をAAなら0で表示ABなら〜って感じで
今度は文字じゃなくて数字で表示したいだけです。

>>362

ありがとうございます。求めていた形です。
364デフォルトの名無しさん:2006/07/26(水) 15:39:36
CreateGame〜陸海空オンライン〜
日本NO1、MMO製作プロジェクト始動!
365332:2006/07/26(水) 17:14:49
>>339

少し調節したら無事動きました。
大変助かりました、ご丁寧にありがとうございました!
366デフォルトの名無しさん:2006/07/26(水) 17:41:09
>>365
単位もらえるとイイネ!
ところで、少し調節というのはロジックに関することだったなら教えてほしいな。
一気書きしてコンパイルに通ることの確認と数回の実行しかやってないので、
ロジックがバグってる可能性あるなあと思ってたので。
表示とか構成についての調節なら別に興味がないので不要だけど。
367デフォルトの名無しさん:2006/07/26(水) 21:48:48
【 課題 】 http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=28126
【 期限 】金曜日朝8時。(昼〜土日も一応おk)
【 補足 】参考書など買って1から勉強してきましたが経理専門でやってきた自分には時間が足りずに間に合いそうもないので
どうかよろしくお願いします。
完全なものではなくても最初のメニュー選択から各メニューへの移動ができる程度のものでかまいません。
(社員情報の登録やエラー関係は正常に動作しなくてもかまいません。)
368デフォルトの名無しさん:2006/07/26(水) 23:01:26
>>367
誤字脱字多すぎ
369デフォルトの名無しさん:2006/07/27(木) 01:12:36
【 課題 】ボールが放物運動するアニメーションを作成しなさい。
【 期限 】月曜日(31日)
【 補足 】色々と調べたんですが、分かりません。一応、放物運動の公式は分かります。
370デフォルトの名無しさん:2006/07/27(木) 03:41:21
>>369
微分方程式の数値解法も知らんのか?
371デフォルトの名無しさん:2006/07/27(木) 03:43:07
すみません。

import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;

public class tebut1 extends Applet{
Button bt1,bt2,bt3,bt4;
Graphics g;
public void init(){g=getGraphics();
setBackground(Color.white);
add(bt1=new Button("blue"));
add(bt2=new Button("red"));
add(bt3=new Button("black"));
add(bt4=new Button("reset"));
bt1.addActionListener(new MyListener());
bt2.addActionListener(new MyListener());
bt3.addActionListener(new MyListener());
bt4.addActionListener(new MyListener());
}
class MyListener implements ActionListener{
public void actionPerformed(ActionEvent e){
if(e.getSource()==bt1){g.setColor(Color.blue);g.fillRect(0,0,199,199);}
else if(e.getSource()==bt2){g.setColor(Color.red);g.fillRect(0,0,199,199);}
else if(e.getSource()==bt3){g.setColor(Color.black);g.fillRect(0,0,199,199);}
else if(e.getSource()==bt4){g.setColor(Color.white);g.fillRect(0,0,199,199);}
}}}

以上のアプレットの、htmlを作りたいのですが、無知な為作り方がわかりません。
どなたか手助けしては頂けないでしょうか?
372デフォルトの名無しさん:2006/07/27(木) 09:14:55
373デフォルトの名無しさん:2006/07/27(木) 09:42:21
ヘボ大学生・専門学校生と神マが戯れ合うスレ
374デフォルトの名無しさん:2006/07/27(木) 13:19:55
【課題】テキストファイルのbangouの横にある0123という値を取得したい。
$xxxは最後の$endで一文とする。

$fax bangou 0123456789 tanaka.tarou $end
$fax bangou 0123456788 itou.takashi $end

この文以下にも別の$マークが付いた文があると仮定して作成せよ。

【期限】今日中がうれしいです。

【補足】if文で$faxが先頭についているデータ全部を取得してから
if (str.startsWith("$fax"))でとってくればいいと思うんですが…
どうすればいいのかがサッパリです。
375デフォルトの名無しさん:2006/07/27(木) 13:27:26
値を取得って。。。0123だろ。。位置とかじゃねーのか
376374:2006/07/27(木) 13:29:18
0123456789の中身はわからないものとする。
すいません。
が抜けていました。申し訳ないです。
377デフォルトの名無しさん:2006/07/27(木) 13:32:47
だからさ。。。言っても無駄か。。。
0123を発見したときの行番号かな?バイト位置?を知りたいのか、それとも
あるかないかだけを知りたいのか。おまえこれ宿題じゃないだろw
378374:2006/07/27(木) 13:35:22
0123という数値を見つけたら出力するんですが、
やり方がよくわからなくて・・・
379374:2006/07/27(木) 13:36:59
ああ、申し訳ないです。0123456789っていう羅列は不明。
0123が欲しいわけではなく、数値全てが欲しいんです。
380デフォルトの名無しさん:2006/07/27(木) 13:38:13
>>379
問題をよく考えて出直してこい。まともな問題作れ。
381374:2006/07/27(木) 13:43:34
【課題】あるテキストファイルの中に$faxが先頭に付いた文字列がある。
その中にある数値を全て取得したい。
$xxxは最後の$endで一文とする。

$fax bangou 01234 tanaka.tarou $end
$fax bangou 56789 itou.takashi $end

この文以下にも別の$マークが付いた文があると仮定して作成せよ。

【期限】今日中がうれしいです。

【補足】if文で$faxが先頭についているデータ全部を取得してから
if (str.startsWith("$fax"))でとってくればいいと思うんですが…
どうすればいいのかがサッパリです。

これでどうでしょうか??
382デフォルトの名無しさん:2006/07/27(木) 13:48:49
良くなったけどやっぱりわからん。
ほしいのはfax番号と名前?それともfax番号だけ?
fax番号をテキストファイルに出力するのか?
383374:2006/07/27(木) 13:53:07
【課題】あるテキストファイルの中に$faxが先頭に付いた文字列がある。
その中にある数値(番号のみ)を取得して、CUIに出力をする。
$xxxは最後の$endで一文とする。

$fax bangou 01234 tanaka.tarou $end
$fax bangou 56789 itou.takashi $end

この文以下にも別の$マークが付いた文があると仮定して作成せよ。

【期限】今日中がうれしいです。

【補足】if文で$faxが先頭についているデータ全部を取得してから
if (str.startsWith("$fax"))でとってくればいいと思うんですが…
どうすればいいのかがサッパリです。

すいません。出力に関することが抜けてました。
384デフォルトの名無しさん:2006/07/27(木) 14:00:41
>>374
すげー紛らわしい課題だな。
パッと見、完全な板違いかと思ったぞ。
385デフォルトの名無しさん:2006/07/27(木) 14:05:39
$faxをサーチ開始位置を記憶$endをサーチ終了位置を記憶。
開始から終了の中で数字があれば出力。終了位置に来たら双方のサーチの
開始位置を変えて再度サーチの繰り返し。でいんじゃね。
386デフォルトの名無しさん:2006/07/27(木) 14:29:27
【 課題 】自動でHPに入り、そこにIDとパスワードを入れる
【 期限 】本日中にお願いします
【 Ver  】特にないです
【 補足 】HPの場所やIDとパスワードを入れた後の動作はおまかせします。

初心者で訳わからんのでとにかくよろしくお願いします
387デフォルトの名無しさん:2006/07/27(木) 14:31:53
なんか、詐欺サイトの下っ端な連中が来てるな
388デフォルトの名無しさん:2006/07/27(木) 14:55:07
詐欺サイトの中の人って基本的に頭が悪いおサルの集まりだからな
389デフォルトの名無しさん:2006/07/27(木) 15:10:49
【課題】ArrayListの中身を二次元配列にて表示したい。
ArrayListはStringオブジェクトで[ha,hi,hu,he,ho]というデータが入っている。
ArrayListの中身をint型の1に置き換え、二次元配列を用いて表示する。
行と列はどちらも5とし、int型の二次元配列にて表示させる。
[1,0,0,0,0]
[0,1,0,0,0]
[0,0,1,0,0]
[0,0,0,1,0]
[0,0,0,0,1]
という結果をCUI画面にて表示せよ。
【期限】今日中
java初心者なんでよくわからないんですが、
どうやればいいんでしょうか
390374:2006/07/27(木) 15:11:47
>>385

ありがとうございます。やってみます。
391デフォルトの名無しさん:2006/07/27(木) 15:18:38
>ArrayListの中身をint型の1に置き換え

意味不明。
日本語不自由なヤツは質問スンナ
392デフォルトの名無しさん:2006/07/27(木) 15:24:17
【課題】ArrayListの中身を二次元配列にて表示したい。
ArrayListはStringオブジェクトで[ha,hi,hu,he,ho]というデータが入っている。
行と列はどちらも5とし、int型の二次元配列にて表示させる。
[1,0,0,0,0]
[0,1,0,0,0]
[0,0,1,0,0]
[0,0,0,1,0]
[0,0,0,0,1]
という結果をCUI画面にて表示せよ。
【期限】今日中

これでどうすか
393デフォルトの名無しさん:2006/07/27(木) 15:59:06
>>392
情報がさらに減ってるぞ
意味不明といわれて削れば済むと思ってるのか
394デフォルトの名無しさん:2006/07/27(木) 16:10:29
>>392
ほらよ
ArrayList al=new ArrayList();
al.add("[ha,hi,hu,he,ho]");
int[][] ar={{1,0,0,0,0},{0,1,0,0,0},{0,0,1,0,0},{0,0,0,1,0},{0,0,0,0,1}};
for(int i=0;i<5;i++){
System.out.println("["+ar[i][0]+","+ar[i][1]+","+ar[i][2]+","+ar[i][3]+","+ar[i][4]+"]");
}
395デフォルトの名無しさん:2006/07/27(木) 16:12:16
>>374
超適当
static Pattern pattern = Pattern.compile("\\$fax bangou (\\d+) \\S+ \\$end");
static void hoge(String s) {
Matcher m = pattern.matcher(s);
while(m.find()) {
System.out.println(m.group(1));
}
}
396374:2006/07/27(木) 16:59:20
>>395

実行してみたんですが、うまくいきませんでした。
データ自体は読み込めているんですが
欲しい値がでてきませんでした。。。orz
397デフォルトの名無しさん:2006/07/27(木) 17:18:50
>>396
読み込むデータの一部と、どれが欲しい値かを書いてくれ。
398デフォルトの名無しさん:2006/07/27(木) 17:25:03
特に問題なく動いてるみたいだが
class moge {
public static void main(String[] a) {
String x = "$fax bangou 01234 tanaka.tarou $end\n$fax bangou 56789 itou.takashi $end\n$fax bangou 0123456789 tanaka.tarou $end\n$fax bangou 0123456788 itou.takashi $end\n";
hoge(x);
}
static Pattern pattern = Pattern.compile("\\$fax bangou (\\d+) \\S+ \\$end");
static void hoge(String s) {
Matcher m = pattern.matcher(s);
while(m.find()) {
System.out.println(m.group(1));
}
}
}
399374:2006/07/27(木) 17:27:45
>>397

読み込むデータの一部ですが、

$name tarou tanaka $end
$name itou takashi $end
$fax bangou 01234 tanaka.tarou $end
$fax bangou 56789 itou.takashi $end

っていう感じに入っています。
欲しい値はbangouの後にある数値だけが欲しいんです。
400374:2006/07/27(木) 17:29:19
>>398

動きました。ありがとうございます。
String xに全てを入れる方法以外に別の方法で取り出す事は
難しいでしょうか??
401デフォルトの名無しさん:2006/07/27(木) 17:34:08
別に全部入ってなくても、たとえば
String[] x = {"$fax bangou 01234 tanaka.tarou $end",
"$fax bangou 56789 itou.takashi $end",
"$fax bangou 0123456789 tanaka.tarou $end",
"$fax bangou 0123456788 itou.takashi $end\n"};
for(String y:x)hoge(y);
こんな感じでも使えると思うが。
もちろん一気に配列に入ってなくても1行づつ読んではそれをhoge()に渡してもいいし
402395,397:2006/07/27(木) 17:38:39
data.txtにデータが入ってるとしたら、こんな感じでどう?

public static void main(String[] args) throws IOException {
Scanner in = new Scanner(new File("data.txt"));
while(in.hasNextLine()) hoge(in.nextLine());
}
403374:2006/07/27(木) 17:39:30
>>401

なるほど。ありがとうございます。
ええと、よくわからないで言ってるんですが、
今はバッファリーダを使ってファイルを開いてるんですけど
if (str.startsWith("$fax")) {
欲しい値のプログラムを書く?
}
っていう感じでもいけるんでしょうか?
404374:2006/07/27(木) 17:44:27
最初はStringTokenizerで値を引っ張ってこようと
思ったんですけど、値の中身が可変するらしいので
if (!(token.equals("01234") || token.equals("56789")))
とかでいけると思ったんですけどねー・・・(´・ω・`)
405395,397:2006/07/27(木) 17:55:18
>>404
StringTokenizerを使う場合はこんな感じか?

public static void main(String[] args) throws IOException {
BufferedReader in = new BufferedReader(new FileReader("data.txt"));
while(true) {
String str = in.readLine();
if (str == null) break;
if (str.startsWith("$fax ")) {
StringTokenizer st = new StringTokenizer(str);
boolean b = false;
while(st.hasMoreTokens()) {
String token = st.nextToken();
// 前のtokenがbangouの場合このtokenを出力する
if (b) System.out.println(token);
// このtokenがbangouかどうかをbに代入する
b = token.equals("bangou");
}
}
}
in.close();
}
406374:2006/07/27(木) 18:03:49
>>405

おお、まじですか。できたんですねorz
自分のコーディングミスでした・・・ありがとうございます。
booleanを使う理由がはっきりしないんですが、絶対条件として
data.txtがあり、中のデータがわかっていれば書く必要ってないんですか??
407デフォルトの名無しさん:2006/07/27(木) 18:31:59
>>406
コメント嫁
408デフォルトの名無しさん:2006/07/27(木) 20:35:50
【 課題 】文字列結合。txt1〜txt4までのファイルを開いて、一行ずつ文字を結合して、txt0.txtを作成する。
【 期限 】明日、明後日
【 補足 】
for(int i=0; i<4; i++) {
String n = String.valueOf(i+1);
fr = new BufferedReader(new FileReader("C:/file/"txt"+ n +".txt"));
}
上のような感じでテキストファイルを読み込ませてます。

また、テキストファイルの中身は
【txt1】  【txt2】   【txt3】   【txt4】
新しい   朝が来た。  希望の    朝が来た。
休暇中の  課題は    後日     発表する。
事故に   気をつけて  夏期休暇を  過ごしましょう。
では     よい休暇を。
                    7/25


上記のようになっており「nullが検出されるまで読み込む」というのが条件で
txt1を3行、txt2,3を4行、text4を5行読み込み、それぞれの1行目を
txt0に結合して出力(新しい朝が来た。希望の朝が来た。)させるプログラムです。

説明が支離滅裂かもしれませんが、よろしくお願いします。
409デフォルトの名無しさん:2006/07/27(木) 20:54:44
>>408
public static void main(String[] args) throws IOException {
ArrayList[] data = new ArrayList[4];
for (int i = 0; i < 4; i++) {
String n = String.valueOf(i + 1);
BufferedReader fr = new BufferedReader(new FileReader("C:/file/txt" + n + ".txt"));
while (true) {
String line = fr.readLine();
if (line == null) break;
data[i].add(line);
}
fr.close();
}

FileWriter fw = new FileWriter("C:/file/txt0.txt");
for (int i = 0; i < 4; i++) {
fw.write((String) data[i].get(0));
}
fw.flush();
fw.close();
}
410デフォルトの名無しさん:2006/07/27(木) 21:44:44
>>408は7/25まで出力しなくて良いのか?
411367:2006/07/27(木) 22:05:51
【 課題 】メインメニューから1〜5,9の数字を入力することで対応した操作を実行する。(すべてDOSプロントのコンソール画面上で)
1:arraylistに登録された社員番号一覧を表示する。(社員番号は4桁の数字)
2:社員番号をarraylistに追加する。(入力後メインメニューへともどる。)
3;登録した社員情報を削除する。
4;arraylistにある社員情報を書き込む。
5;書き込んだ社員情報を読み込む→機能選択1の一覧表示でみられるようにする。
9;終了する
1の画面では一覧を表示した後に、リターンキーを入力することによりメインメニューへともどる。
2〜5は番号追加削除、ファイルの読み書きが終わり次第メインメニューへともどる。
【 期限 】出来れば明日の朝8時か昼12時までにお願いしたいです 。
【 補足 】367のときより課題を簡単にしてあります、あとは自分でがんばってみますので
メインメニューから数字を入力することにより、各画面へと遷移する段階程度のプログラムでもいいのでよろしくお願いします。
他になにかわからないこと不足した点がりましたら指摘お願いします。
↓メインメニュー参考
1 登録
2 削除
3 変更
4 書き込み
5 読み込み

9 終了する

機能選択__←ここに数字を入力
412デフォルトの名無しさん:2006/07/27(木) 22:22:53
>>411
ちょっと待ってろ
今やってるから
413367:2006/07/27(木) 22:44:17
>>412
ありがとうございます
その間にもう一度javaテキスト読みなおしてきます
414デフォルトの名無しさん:2006/07/27(木) 23:03:21
415デフォルトの名無しさん:2006/07/27(木) 23:07:30
>>414
俺関係ないが
あんたおもろいし参考になる
416ど素人:2006/07/28(金) 02:05:52
前期の追試です。この2問に単位がかかっています。よろしくお願いします。
2.通常プログラムカウンタはプログラムの実行にしたがって一定の大きさだけ増えていく.
しかし,時に,プログラムカウンタに直前の値とは大きく異なる値がセットされる
時がある.それはどんな時か?

3.次のプログラムは何を行うプログラムか.簡単に説明しなさい.また,
結果を得るまでに,A[k]==aの比較が行われた回数を書きなさい.

A=new Array(3, 8, 19, 20, 22, 24, 45);
i=0;
j=A.length-1;
a=19;
k=Math.floor((i+j)/2);
while(i<=j){
if(A[k] == a){
break;
}
else if(A[k] > a){
j = k - 1;
}
else{
i = k + 1;
}
k = Math.floor((i+j)/2);
}
if(i>j) k=-1;
document.write(a," ",k);
417デフォルトの名無しさん:2006/07/28(金) 02:16:29

マルチ&板違い
死ね
418デフォルトの名無しさん:2006/07/28(金) 02:22:46
>>416
2:神にクラックされたとき。
3:逆行列を計算するプログラム。
419デフォルトの名無しさん:2006/07/28(金) 02:33:43
>一定の大きさだけ増えていく

ダウト
420デフォルトの名無しさん:2006/07/28(金) 05:10:30
>>414
ほんとうに、ありがとうございます・
421デフォルトの名無しさん:2006/07/28(金) 05:11:34
>>369
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=28134
とりあえずシンプルにスレッド使ってアニメーションするアプレット。
放物運動のアニメーションなんて運動の公式も微分方程式の数値解法もいらない。
鉛直方向の速度が一定時間ごとに一定量変化することだけ知っていれば十分。
底で反射したものが最初の高さまで戻らないのは、反射時の速度と位置の変化を近似で出しているから。
まあ完全弾性衝突していないと思っておいて。近似なのは底での反射に関してだけなので、
その点以外ではフレームごとのボールの位置は正しく放物運動でのものになっているはず。
422408:2006/07/29(土) 07:48:56
>>409
作ってくれてありがとうございます。
書込み禁止だったため御礼が遅れてすみません。

あと、質問があるのですが
data[i].add(line); ←の処理でNullPointrExceptionが発生するのですが
どうすれば解決するのでしょうか・・・?
そもそも、data[i].add(line);という表記自体をはじめて見たので
意味自体が分かりませんorz

それと、これはこのスレの住人の方に聞きたいのですが
皆さん参考書は何を使っていますか?
お勧めがあれば教えて頂きたいのですが。
423デフォルトの名無しさん:2006/07/29(土) 10:20:38
Listをnewしてないからじゃないか?
424デフォルトの名無しさん:2006/07/29(土) 12:54:34
気が向いたので答える

簡単に言うと
data[i]というのはArrayList型の配列dataの
i番目に格納されてるはずのArrayLisにおいて
lineをaddしようとしているがdataの中身は
空っぽ、つまりArrayListは入っていない
のでぬるぽが投げられる
要約すると>>423

参考書は使ったことが無い
425デフォルトの名無しさん:2006/07/29(土) 13:26:28
>>422
data[i].add(line); が読めない時点で、純粋に実戦不足。
問題がたくさん載ってるやつを探してやりまくればいい。
426408:2006/07/29(土) 17:23:35
>>423-425
ご指摘と解説ありがとうございます。
ついつい参考書にばかり目がいき、問題集を買うという考えが欠落してました。
精進して出直してきます。
重ね重ねありがとうございました。
427デフォルトの名無しさん:2006/07/29(土) 17:27:37
プログラムで問題集ってどうよ
428デフォルトの名無しさん:2006/07/29(土) 18:38:34
HashTableクラスを用いてこなす課題です。

課題:
銀行口座番号(account)をキーとして使用し、Personオブジェクトで値を表す。
Personオブジェクトには氏名(name)、パスワード(password)、残高(salary)を保存する。
銀行口座番号を入力し、パスワードを確認した後、預け入れ(dep)か引き出し(with)かを選び金額を指定すると、残高にそれが反映されるようなプログラムを作成せよ。

どなたかよろしくお願いいたします。
氏名とかは適当なので構わないようなので、適当に書いていただければ結構です。
429デフォルトの名無しさん:2006/07/29(土) 18:42:12
430デフォルトの名無しさん:2006/07/29(土) 20:40:47
>>428
その学校やめればいいんじゃない?
431デフォルトの名無しさん:2006/07/30(日) 01:12:46
>>420みたいな普通の礼よりも
>>415のほうが励みになるな
432408:2006/07/30(日) 08:10:32
出直してくると言いつつ、どうしても作れないので再度助言をお願いしますorz

for(int i = 0; i < 4; i++) {
String n = String.valueOf(i+1);
fr = new BufferedReader(new FileReader("C:/file/txt"+ n +".txt"));
list[i] = new ArrayList();

String line = fr.readLine();
if(read == null) {
break;
}}
list[i].add(line);
}

↑のプログラムで「txt1〜4までの1行目を読み込む」が実行されていますが
「txt1〜4の2行目以降を読み込む」にはどうしたら良いのでしょうか?
433デフォルトの名無しさん:2006/07/30(日) 08:18:21
if(read == null)
なんだこれ
434デフォルトの名無しさん:2006/07/30(日) 10:10:51
>>432
中途半端に readLine() を1回だけ使うとか変なことやってるから混乱するんだよ。
よほどパフォーマンスを詰めなければいけないような状況でもなければ(つまり、
この程度のちょっとしたテキストを読み込む程度の作業量なら)、ファイル全体を
ガバッと読み込んで、各行が2次元配列の要素になるようにしてしまえば他の話に
応用が効く。みみっちーことは考えるな。

http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=28143

テスト用出力って書いてる後の4行を読めば、どうすればいいかはわかるだろう。
435デフォルトの名無しさん:2006/07/30(日) 16:51:10
「課題」ある画像をハイキュービック法を使用して補間せよ
「期限」一週間以内
「言語」Java

以上の課題が出ました。ハイキュービック法の説明を詳しくしているページがなかったので
よろしくお願いします。ハイキュービック法の部分のプログラムだけでもいいので
教えてくださいい。
436デフォルトの名無しさん:2006/07/30(日) 16:59:09
バイキュービックなw
調べなおして分からんかったらまたおいで
437デフォルトの名無しさん:2006/07/30(日) 17:11:08
その課題が出たまさにその授業で原理を習ったんじゃないのか?
438デフォルトの名無しさん:2006/07/30(日) 17:12:56
どうせ聞いちゃいねえんだろ
439デフォルトの名無しさん:2006/07/30(日) 17:18:19
てかJavaでバイキュービックしたいなら・・・
先生はアルゴリズム書いて来いなんて言ってないだろ
440デフォルトの名無しさん:2006/07/30(日) 18:55:25
>>435
AffineTransformで変換行列決めて、
その変換行列からAffineTransformOpを得る時にバイキュービックを指定して、
Graphics2D#drawImageするなりAffineTransformOp#filterするなり自分の好きにしろ。
441440:2006/07/30(日) 19:00:06
Graphics2D#drawImageは余計だな
442440:2006/07/30(日) 19:03:16
あー、いや、いいんだ
処理する画像がBufferedImageならGraphics2D#drawImageでいける。
頭が寝てるな
443デフォルトの名無しさん:2006/07/30(日) 21:32:47
【 課題 】53!を正確に計算して出力するJavaプログラムを作成せよ。
但しここでは例題に倣って、1桁分の数を記憶するオブジェクトを多数作り、それらの協調で計算を進めていくことにする。
【 用語 】
【 期限 】7/31 17:00
【 Ver  】
【 補足 】例題です。
Napier数eの1000桁計算
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=28144
444デフォルトの名無しさん:2006/07/30(日) 22:06:06
課題:ひな形プログラム中の
次の各メソッドを完成させよ。完成すると、ソート途中の様子を
表示しながらクイックソートを実行してくれるようになる。
1-2 parition
1-3 quickSort
1-4 main
1-1 medianOf3の順でつくるのがよい。
期限:7/31
補足:ひな形は長いのであとで貼ります。
   お願いします。
445デフォルトの名無しさん:2006/07/30(日) 22:07:14
課題:ひな形プログラム中の
次の各メソッドを完成させよ。完成すると、ソート途中の様子を
表示しながらクイックソートを実行してくれるようになる。
1-2 parition
1-3 quickSort
1-4 main
1-1 medianOf3の順でつくるのがよい。
期限:7/31
補足:ひな形は長いのであとで貼ります。
   お願いします。
446デフォルトの名無しさん:2006/07/30(日) 22:09:13
class QuickSort{
//比較回数を覚えておくための変数
static intcompare = 0;
//コピー回数を覚えておくための変数
static int copy = 0;
//入替回数を覚えておくための変数
static int swap = 0;
static void swap(int a[], int i, int j)
{
//1-0:配列の要素を入れ替えるメソッド
//動作:配列aの要素a[i]とa[j]の値を入れ替える
//例: a[0]=10, a[1]=30, a[2]=20の場合
// swap(a,1,0)を実行するとa[0]=30, a[1]=10, a[2]=20となる。
// swap(a,1,2)を実行するとa[0]=10, a[1]=20, a[2]=30となる。
int tmp;
tmp = a[i];copy++;
a[i] = a[j];copy++;
a[j] = tmp;copy++;
swap++;
}
static void showArray(int a[], int l, int r)
{
//1-0:配列の内容を表示するメソッド
//動作:部分配列a[l]〜a[r]の要素を表示
//例: a[0]=10, a[1]=30, a[2]=20の場合
// showArray(a,0,2)を実行すると画面に
// 10 30 20
// と表示される。
// showArray(a,1,2)を実行すると画面に
// 30 20
// と表示される。
447デフォルトの名無しさん:2006/07/30(日) 22:11:40
//★以降を適切に埋めよ(課題1-1)
int i;
for(i=l;i<=r;i++){
System.out.print(" "+a[i]);
}
System.out.println("");
}
static void initArray(int a[], int N)
{
//1-0:配列にランダムな値を代入するメソッド
//動作:N個の要素を持つ配列aに対し、1〜Nまでの範囲の数をランダムに入れる
//ただし、a[0]には常に0を入れること。
int i;
a[0]=0;
for(i=1;i<N;i++)a[i] = i;
for(i=1;i<N;i++){
int j,k;
j = (int)(java.lang.Math.random()*(N-1)) + 1;
k = (int)(java.lang.Math.random()*(N-1)) + 1;
swap(a,j,k);
}
}
static int medianOf3(int a[],int l, int r){
448デフォルトの名無しさん:2006/07/30(日) 22:13:40
//1-1:配列の左端・中央・右端の値を並べ替え、
// 「3要素の中央値」を計算するメソッド
//例: a[0]=10, a[1]=30, a[2]=20,a[3]=10,a[4]=25の場合
/*
medianOf3(a,1,3)を実行すると
a[1] = 30
a[(1+3)/2] = a[2] = 20
a[3] = 10
であるから、a[1],a[2],a[3]が
a[0]=10, a[1]=10, a[2]=20,a[3]=30,a[4]=25と並べ替えられ、
中央値として20を返す。
*/
//例: a[0]=10, a[1]=30, a[2]=20,a[3]=10,a[4]=25の場合
/*
medianOf3(a,1,4)を実行すると
a[1] = 30
a[(1+4)/2] = a[2] = 20
a[4] = 25
であるから、a[1],a[2],a[4]が
a[0]=10, a[1]=20, a[2]=25,a[3]=10,a[4]=30と並べ替えられ、
中央値として25を返す。
*/
//手順は次のようになる。
/*
1.a[l],a[(l+r)/2],a[r]のうち、最も大きい要素が
 a[r]に来るようにa[l],a[(l+r)/2],a[r]の内容を交換
2.a[l],a[(l+r)/2],a[r]のうち、大きい要素がa[(l+r)/2]に
 来るようにa[l],a[(l+r)/2]の内容を交換
3.a[(l+r)/2]の値を返す
*/
intc;
449デフォルトの名無しさん:2006/07/30(日) 22:15:44
//★以降を適切に埋めよ(課題1-1)
return a[c];
}
static int partition(int a[], int l, int r, int pivot){
// 1-2: 配列の分割を行うメソッド
//動作:部分配列a[l],...,a[r]を分割値pivotを使って分割する。
//(分割後の部分配列a[l],...,a[r]は分割値pivotよりも
//値が小さい部分Aと値が分割値pivot以上の部分Bに
//分けられている。)
//分割の境目の要素(上記Bの左端の要素)の添字を
//戻り値として返す
//例: a[0]=10, a[1]=30, a[2]=20,a[3]=10,a[4]=25の場合
// partition(a,1,4,15)を実行すると、配列aの内容が
// a[0]=10, a[1]=10, a[2]=20,a[3]=30,a[4]=25
// となり、(境目の要素20がa[2]に入っているので)
// 戻り値として2を返す
//手順は次のようになる。
450デフォルトの名無しさん:2006/07/30(日) 22:18:40
/*
1.変数i,変数jの値をそれぞれl-1,rに初期化
2.iの値がj以上になるまで以下を繰り返す
2-1.a[i]の値が分割値pivotより大きくなるまで
iの値を増やす
2-2.a[j]の値が分割値pivotより小さくなるまで
jの値を減らす
2-3.iの値がj以上だったら処理を中断
2-4.a[i]とa[j]の内容を入れ替え
3.分割に要した比較回数(=iの増加分+jの減少分)を
変数compareに加算
4.iの値を戻り値として返す
*/
int i,j;
451デフォルトの名無しさん:2006/07/30(日) 22:20:12
//★以降を適切に埋めよ(課題1-2)
return i;
}
static void quickSort(int a[], int l, int r){
//1-3: 再帰的にクイックソートを行うメソッド
//動作:部分配列a[l],...,a[r]を再帰的にクイックソートする
//例: a[0]=10, a[1]=30, a[2]=20,a[3]=40,a[4]=25の場合
//quicksort(a,0,4)を実行するとa[0]〜a[4]がソートされ
//a[0]=10, a[1]=20, a[2]=25,a[3]=30,a[4]=40
//となる。
//例: a[0]=10, a[1]=30, a[2]=20,a[3]=40,a[4]=25の場合
//quicksort(a,2,4)を実行するとa[2]〜a[4]がソートされ
//a[0]=10, a[1]=30, a[2]=20,a[3]=25,a[4]=40
//となる。
452デフォルトの名無しさん:2006/07/30(日) 22:21:19
//手順は次のようになる。(参照:教科書p.286)
/*
1.部分配列の要素数が1より大きければ以下を実行
1-1.a[r]を分割値として採用
※余裕のある人はmedianOf3メソッドを使ってみよ
1-2.分割前のa[l]〜a[r]の内容・分割値を画面に表示
1-3.paritionメソッドを用い、a[l]〜a[r]を
分割値a[r]で分割
1-4.分割の境目の場所を変数(例えばi)に覚えておく
1-5.分割の境目の値a[i]と分割値a[r]を交換
1-6.分割後のa[l]〜a[r]の内容・分割値を画面に表示
1-7.a[l]〜a[i-1]を再帰的にquickSort
1-8.a[i+1]〜a[r]を再帰的にquickSort
1-9.ソートの完了したa[l]〜a[r]の内容を画面に表示
*/
453デフォルトの名無しさん:2006/07/30(日) 22:21:30
>>450
まともに回答ほしければ>>1嫁ソースうぷろだ使え。
454デフォルトの名無しさん:2006/07/30(日) 22:22:49
//★以降を適切に埋めよ(課題1-3)
inti,pivot;
}
//小さい部分ファイルのソートに使う挿入ソート
static void insertionSort(int a[], int N){
//1-0:動作:a[0]〜a[N-1]を挿入ソートするメソッド
//※カットオフつきクイックソートの仕上げに利用
inti,j,v;
for(i=2; i<N; i++){
v=a[i]; j=i;
while(compare++ > 0 && a[j-1]>v){
a[j]=a[j-1];
copy++;
j--;
}
a[j] = v;
}
}
//カットオフつきクイックソート
static void quickSortWithCutoff(int a[], int l, int r, int M){
//1-0: (カットオフありで)再帰的にクイックソートを行うメソッド
//動作:部分配列a[l],...,a[r]を再帰的にクイックソートするが、
//部分配列の要素数がM未満だったら何もしない
455デフォルトの名無しさん:2006/07/30(日) 22:26:58
456デフォルトの名無しさん:2006/07/30(日) 22:52:00
>>455です。無駄なスペースを使ってしまいすみませんでした。どうかお願いします。
457デフォルトの名無しさん:2006/07/30(日) 23:39:17
改めて載せます。
課題:ひな形プログラム中の
次の各メソッドを完成させよ。完成すると、ソート途中の様子を
表示しながらクイックソートを実行してくれるようになる。
1-2 parition
1-3 quickSort
1-4 main
1-1 medianOf3
1-3 quickSort改良(余裕のある人のみ)
という順で作るのがよい
期限:7/31
ひな形:http://ime.nu/sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=28145
458デフォルトの名無しさん:2006/07/31(月) 00:52:00
>>443
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=28146

てかな、「Dightとは何ぞや…?」っつーので30分ぐらい悩んだぞ。
スペル間違うなって。
459デフォルトの名無しさん:2006/07/31(月) 01:37:06
かぶった。上の桁へのリンクを持って計算では末尾再帰できるようにしたんだけど、
あまり変わらないから廃棄。>>443の例題はスペルミス以前にコンパイル通らない。
セミコロンいっこ足りなくて。
460デフォルトの名無しさん:2006/07/31(月) 01:56:53
>>459
俺も最初はそっちで考えたんだけど、出力の実装がスマートじゃないな〜
などと思いながら、結局トップからいくことにした。
461デフォルトの名無しさん:2006/07/31(月) 02:01:01
>>460
うん。出力するとき逆順になっちゃうので確かにprintの実装がスマートじゃなくなってしまった。
462デフォルトの名無しさん:2006/07/31(月) 02:48:58
ありがとうございましたー!
463デフォルトの名無しさん:2006/07/31(月) 02:52:18
>>462
ID出てないんだし、どれに対するレスか明記しろよ。
464デフォルトの名無しさん:2006/07/31(月) 03:07:55
ここ数日間で完結していないもの。

>>369 (回答有り)
>>392 (回答有り)
>>428
>>435 (コメント多数)
>>443 (回答有り)
>>457

他人を巻き込んでるんだから、放り投げるやつも最後まで責任持てよな。

>>1

  5:もし回答プログラムがアップされたら、その返答と動作報告をお願いします。

ってあるけど、これはもう「ここに投稿した時点で、他人を巻き込むことに
なります。反応があった場合は責任を持って、必ず返信等を行うこと!」
ぐらいキツく書いてもいいんじゃないか?
465443:2006/07/31(月) 03:45:24
すいません462は458に対してです。
でもよく分かりませんでした。53!が70桁になるのを知っていると仮定して作っていいようです。
466デフォルトの名無しさん:2006/07/31(月) 04:02:04
>>465
教官がそう言ったのか?
そういう風に、最初から天井を設置するようなプログラミングは
せん方がいいぞ。面倒と思うかもしれんが、最初から制限の大きい
ものを作ってしまうと、後々変更したいと思ってもうまくいかない。

まあここで質問してるようなやつに力説しても仕方ないが。
467デフォルトの名無しさん:2006/07/31(月) 09:30:00
>>466
javaは7月から習ったばかりだから簡単にしてくれたのかも。
458のプログラムをそのように変更するとしたらどこを変えればいいでしょうか?
468デフォルトの名無しさん:2006/07/31(月) 11:07:51
最終課題で躓いてしまいましたOTL  回答よろしくお願いします。

【 課題 】calc.javaの空白部分を記述し、簡易電卓プログラムを完成させよ。
      計算アルゴリズム
      ・後置記法を前から読む
      ・被演算子をスタックにPUSHする。
      ・二項演算子が現れたなら、スタックから2つの数をPOPし、これらに演算を施す。また、その結果をPUSHする。
      ・最後にスタックに残った要素が答えである。

【 補足 】Cala.java(未完)
      http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=28148
      その他のソースコード
      http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=28149
      http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=28150
      http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=28151
469デフォルトの名無しさん:2006/07/31(月) 11:28:56
>>467
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=28153

これもう一回できてよかった。
ちょっとアルゴリズム論の本を読み返してたら、出力方法の改善策が思いついた。
470デフォルトの名無しさん:2006/07/31(月) 11:29:53
>>468
期限を書いとけ。
471468:2006/07/31(月) 12:39:25
>>470
ご指摘ありがとうございます。
【 期限 】8月2日正午
以上です。
472デフォルトの名無しさん:2006/07/31(月) 13:43:17
>>457
static void initArray(int a[], int N) の説明が矛盾してる(1〜Nまでの
範囲と書いてるのに、a[0]は0)。
それと、そのソースがやりかけなのか何なのか知らんが、それぞれの数字が
1個ずつでなければいけないのかどうかも不明。
473デフォルトの名無しさん:2006/07/31(月) 14:55:27
>>468
ほらよ。とりあえず整数として。割り算は端折った。
実数だったらIntegerをDoubleにしれ。

http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=28154
474デフォルトの名無しさん:2006/07/31(月) 14:56:22
あと、なぜJavaのリンクリストにpush_back()とかprint()があるのか問い詰めたい。>>468
475デフォルトの名無しさん:2006/07/31(月) 15:00:40
>>474
ヒント:デフォルトパッケージ
476デフォルトの名無しさん:2006/07/31(月) 15:13:50
おぉ、自作クラスかよ…
そこまで面倒見切れん。適当に修正してくれ。
477デフォルトの名無しさん:2006/07/31(月) 15:17:09
>>468
//ココを考える
for (int i = 0; i < lst.getSize(); i++) {
String str = lst.getData(i);
if (str.equals("*")) {
double lval = Double.parseDouble(stk.pop());
double rval = Double.parseDouble(stk.pop());
stk.push(Double.toString(lval * rval));
} else if (str.equals("+")) {
double lval = Double.parseDouble(stk.pop());
double rval = Double.parseDouble(stk.pop());
stk.push(Double.toString(lval + rval));
} else {
stk.push(str);
}
}
double ans = Double.parseDouble(stk.pop());
System.out.println("answer = " + ans);

>>474-475
意図した通りになってるから問題ないといえば問題ないかもしれないけれど、
必要のないjava.uti.*をインポートしたりして混乱させてるのは問題のような。
標準のクラスと同じ名前をつけるのは慎重にしないとね。
import java.io.*;もいらないし。
478デフォルトの名無しさん:2006/07/31(月) 15:19:14
>>473
Stringの比較を==で行うのは(略
479デフォルトの名無しさん:2006/07/31(月) 15:48:28
>>457をやりかけてたけど、この時間でも>>472にレスがないってことは
放棄と見なして良いかな。
480デフォルトの名無しさん:2006/07/31(月) 16:00:46
>>457をちらっと見たけどstaticの嵐かよ
アルゴリズムの勉強っぽいから仕方ないけどJavaいらないぞ
481468:2006/07/31(月) 16:50:57
>>477
素早い対処ありがとうございますm(_ _)m
後程動作確認をしてみます。
482477:2006/07/31(月) 17:08:11
今気がついたけれど、lvalとrvalは名前が逆だった。
スタックから先に取り出したものが演算子の右側だね。
加算と乗算しかなかったので気がつかなかった。

if (str.equals("*")) {
double rval = Double.parseDouble(stk.pop());
double lval = Double.parseDouble(stk.pop());
stk.push(Double.toString(lval * rval));
} else if (str.equals("+")) {
double rval = Double.parseDouble(stk.pop());
double lval = Double.parseDouble(stk.pop());
stk.push(Double.toString(lval + rval));
} else {

の方がいいかも。結果は変わらないけれど。
483408:2006/07/31(月) 18:27:18
>>433
if(read == null)→if(line == null)ですね。
プログラムを混同してました。
申し訳ないです。

>>434
おかげさまで一通り完成しました。
ArrayListというのは便利な機能ですね。大変勉強になりました。
現在は
【txt1】  【txt2】   【txt3】   【txt4】
新しい   朝が来た。  希望の    朝が来た。
休暇中の  課題は    後日     発表する。
事故に   気をつけて  夏期休暇を  過ごしましょう。
        では     よい休暇を。
                    7/29

上の「txtのnullの部分(txt1の4・5行目、txt2、3の5行目)」を(" ")で表示する
プログラムを作っています。
まだ完成には程遠いですが、ArrayListを用いて作成したいと思います。

>>408に協力してくださった方々、重ね重ねありがとうございました。
484デフォルトの名無しさん:2006/08/02(水) 01:02:36
a
485デフォルトの名無しさん:2006/08/02(水) 01:07:02
b
486デフォルトの名無しさん:2006/08/02(水) 01:16:06
c
487デフォルトの名無しさん:2006/08/02(水) 02:05:00
d
488デフォルトの名無しさん:2006/08/02(水) 03:07:12
e
489デフォルトの名無しさん:2006/08/02(水) 04:31:22
f
490デフォルトの名無しさん:2006/08/02(水) 08:14:31
W ‥    ZZZzzzzzz.......
X  x
Y  Y
491デフォルトの名無しさん:2006/08/02(水) 09:22:13
α
492デフォルトの名無しさん:2006/08/02(水) 14:02:48
【課題】画面レイアウトをSWTを使用して下記の画像と同じ構成にせよ。
http://f40.aaa.livedoor.jp/~itdreams/UPLOAD/img/1154494938.JPG
【期限】今日中
【ver】1.4

構成は画像の通りなんですが、SWT全然わからないです・・・
どうやればいいのかサッパリです。
よろしくお願いします。
493デフォルトの名無しさん:2006/08/02(水) 14:58:55
今日中とかって、終わってるな。
普段 Swing しか使っとらんから、やってやれん。
494492:2006/08/02(水) 15:20:03
// 上部分コンポジット
Composite compo = new Composite(shell, SWT.BORDER);
// サッシュ
SashForm sash = new SashForm(shell, SWT.HORIZONTAL);
// 下部分キャンバス
final Canvas sitacanvas = new Canvas(shell, SWT.BORDER);
// サッシュ左のtree置く場所
Composite compotree = new Composite(sash, SWT.BORDER);
// サッシュ左のキャンバス
Canvas hidaricanvas = new Canvas(compotree, SWT.BORDER);
// サッシュ左のツリー作成
Tree tree = new Tree(compotree, SWT.BORDER);
// サッシュ右コンポジット生成
Composite compomigi = new Composite(sash, SWT.BORDER);
// サッシュ右真ん中の部分
Composite compohyouji = new Composite(compomigi, SWT.BORDER);
ここからどうすればああいう形になるんだろうか・・・
495デフォルトの名無しさん:2006/08/02(水) 15:34:11
>>492
Display display = new Display();
Shell shell = new Shell(display);
shell.setLayout(new FillLayout(SWT.VERTICAL));
new Composite(shell, SWT.BORDER);
SashForm sash = new SashForm(shell, SWT.HORIZONTAL);
Composite composite2 = new Composite(sash, SWT.BORDER);
Composite composite3 = new Composite(sash, SWT.BORDER);
composite2.setLayout(new FillLayout(SWT.VERTICAL));
new Composite(composite2, SWT.BORDER);
new Tree(composite2, SWT.BORDER);
composite3.setLayout(new FillLayout(SWT.VERTICAL));
new Canvas(composite3, SWT.BORDER);
new Composite(composite3, SWT.BORDER);
new Canvas(shell, SWT.BORDER);
496デフォルトの名無しさん:2006/08/02(水) 15:36:05
おお、かぶった。
というか本人ですか。それでできているような気が。
497492:2006/08/02(水) 15:42:59
>>496

ありがとうございます。
確かにFillLayoutでやると簡単なんですが、GridLayoutでやろうと
思ってるんです。さきほどの図のような配置にはできたんですが、
そこからレイアウト設定を行っていきたいんですが、どうやればいいのかが
サッパリです・・・orz
498デフォルトの名無しさん:2006/08/02(水) 16:20:19
>>497
これ見て判らなかったら無理ぽ
ttp://www.google.co.jp/search?q=swt+gridlayout
499デフォルトの名無しさん:2006/08/02(水) 16:32:18
>>497
>>494に従うならこんな感じかな?
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=28159
もし、SashFormの中身も含めてShellのレイアウトでコントロールしようと考えているなら無理な気がする。
500デフォルトの名無しさん:2006/08/02(水) 16:38:07
もう少し細かくwidgetの高さをコントロールしたいのなら、
gridData = new GridData(GridData.FILL_HORIZONTAL);
gridData.heightHint = 150;
sitacanvas.setLayoutData(gridData);
こんな感じでheightHintを使えばいいのかな。
501デフォルトの名無しさん:2006/08/02(水) 16:50:00
eclipse本家のSWTのドキュメントを見た感じSWTのGridLayoutって
SwingのGridLayoutとGridBagLayoutの中間的能力なのかな。
微妙に中途半端だ。
502492:2006/08/02(水) 16:57:56
>>499

ありがとうございます。できました。

>>500
そうですねー。全部設定するのは非常にめんどくさいですがorz
今全ての要素にheightHintとwidthHintはっつけてます
503デフォルトの名無しさん:2006/08/02(水) 17:08:22
>>502
分かっていると思うけど一応付け加えておくと、
例ではどのGridDataもFILL_BOTHかFILL_HORIZONTALを設定しているので、
widthHintは無視される。幅を指定したいなら、FILLの設定を変えないと。
高さについてもFILL_BOTHのやつは同様に。
504492:2006/08/02(水) 17:31:10
>>503

ですね。今はこんな感じで作ってます。
ありがとうございましたー。

// 上部分コンポジット配置
GridData TopArrangement = new GridData(GridData.FILL_HORIZONTAL);
TopArrangement.heightHint = 40;
Composite compo = new Composite(shell, SWT.BORDER);
compo.setLayoutData(TopArrangement);
505デフォルトの名無しさん:2006/08/03(木) 16:17:08
【 課題 】
DBを使わない掲示板(JSPとServlet)

名前、題名、本文を入力するテキストエリア
投稿、クリアのボタン
投稿ボタン押下時の時間を取得し「名前」「題名」「本文」「投稿時間」
この4つの値を保持し、形成して出力します。

【 補足 】
形としては、t-cup(でしたっけ?)みたいな画面構成です。
画面上部に投稿用のフォームがあり、投稿する度に画面下部へ「名前」「題名」「投稿時間」「本文」
が出力されるようにして下さい。
初期表示時は過去ログが表示されるだけです。
「削除」や「編集」の機能は必要ありません。

よろしくおねがいします!
506デフォルトの名無しさん:2006/08/03(木) 20:37:44
【 課題 】1つのテキストを逆から読み込み、4つのファイルに分解するプログラム
【 期限 】明日まで
【 補足 】>>483から拝借(パクってすまん)
新しい、,  朝が来た。,  希望の,  朝が来た。
休暇中の,  課題は,    後日,    発表する。
      気をつけて,  夏期休暇を,  過ごしましょう。
       では   ,  よい休暇を。
              7/29

これを各列毎に分割するプログラムです(例:1つ目のファイルには「新しい」と「休暇中」
2つ目のファイルには「朝が来た。」「課題は」「気をつけて」「では」といった具合です)
逆から読み込む処理が思い浮かばないので何方か頼みます。

使って欲しい構文:ArrayList、Split
(特に必要がないのであれば無視してください)
507デフォルトの名無しさん:2006/08/03(木) 21:01:15
どういう基準で分割するのかわからん
そもそも何を目的とするかわからん
逆から読み込むのが目的なのかそれとも
結果的に逆になっていればいいのか

出直して来い
508506:2006/08/03(木) 21:19:27
>>507
新しい,朝が来た。,希望の,朝が来た。
上の文章を「,」で区切って
kadai1.txtに「朝が来た。」
kadai2.txtに「希望の」
kadai3.txtに「朝が来た。」
kadai4.txtに「新しい」を書き込むプログラムです。
(>>506の11.12行目と矛盾してますが、こちらが正規のようです。申し訳ありません)
お手数かけます。
509デフォルトの名無しさん:2006/08/03(木) 21:26:45
あーなんだ、問題文あるなら丸写しで。ないなら
・何を基準に文を区切るのか
・区切った文章をfile1~4のうちどれに書くのかは何を基準にしているのか
の点を明確に
510506:2006/08/03(木) 21:57:32
課題2-2
1つのテキストを逆から読み込み、4つのファイルに分解するプログラムを作成せよ。
テキストの中身

2005年,国家試験,合格者,(春期)
基本,シスアド,ソフ開,ネットワーク
22%,61%,10%,7%


各文章を「,(カンマ)」で区切り
最後尾の文字からfile1に書き込む形です。
初めから問題文を書けばよかったですね。テンパってすみません。

結果的に
kadai1.txt     kadai2.txt    kadai3.txt   kadai4.txt
2005年       国家試験     合格者     (春期)
基本        シスアド     ソフ開     ネットワーク
22%         61%       10%       7%

になれば良いと思います(ずれてたらすみません)。
何度も何度もスレ汚し申し訳ない。自分の説明下手さ加減に涙出そう。
511デフォルトの名無しさん:2006/08/03(木) 22:31:52
>>510

> 1つのテキストを逆から読み込み、
逆から読み込む意味がわからん
512デフォルトの名無しさん:2006/08/03(木) 22:36:41
ん?
逆になってないような・・
513デフォルトの名無しさん:2006/08/03(木) 22:40:48
>>510

>>508を見て>>510を見ると滅茶苦茶だぞ

kadai1.txt     kadai2.txt    kadai3.txt   kadai4.txt
(春期)       合格者      国家試験    2005年
ネットワーク    ソフ開      シスアド    基本 
7%          10%       61%       22% 

こういう形にしたいんじゃないのか?
とりあえず泣く前にモチツケ

>>511
課題って書いてるし、そういう処理をさせたいだけじゃないの?
ふつーに考えれば意味ないわなw
514506:2006/08/03(木) 23:55:23
>>513
泣いてはいませんが画面の前で呆けてました。
ご指摘の通り、その形式です。
>>510は忘れてください('A`)

重々すみませんが
プログラム作成のほどよろしくお願いします・・・・。
515デフォルトの名無しさん:2006/08/04(金) 04:23:14
>>514
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=28164
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=28165

コメントもゴチャゴチャ書いたので、だいたいはわかると思う。
気分で無秩序にassert入れてるから、邪魔だったら適宜消してくれ。
あと、5.0前提で書いちゃったけど、良い?
1.4にせにゃダメで、自分でやるのがきつかったら、AM9時までに書いて
おいてくれれば、バイトから帰ってきて小一時間で修正できると思う。
そのとき、他にもassertは消してくれだとか何か修正要望があったら
書いといてくれ。
516デフォルトの名無しさん:2006/08/04(金) 04:32:41
あー、アフォや、アサーション有効にしてなかった。。orz

FileSplitter の load 中にある
  assert list.size() > maxElementSize;
は、
  assert !(list.size() > maxElementSize);
の間違い。
517505:2006/08/04(金) 16:12:52
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=28172

servlet部分は、こんな感じじゃ駄目ですかね・・・
518デフォルトの名無しさん:2006/08/04(金) 21:35:18
結局>>514は蒸発か。
519デフォルトの名無しさん:2006/08/04(金) 22:32:48
誰か>>505の相手してやって
俺はやる気にならんから
520デフォルトの名無しさん:2006/08/05(土) 05:11:14
521デフォルトの名無しさん:2006/08/05(土) 09:34:44
依頼じゃないけどみんな凄いな。
実力上げようと思ってきたんだけど俺全然わからないわww
もっとまじめに授業受ければよかったと思い独習中です。
まだクラス、メソッド云々辺り。
死にたい。
522デフォルトの名無しさん:2006/08/05(土) 10:13:19
授業は関係ないと思うよ

向いてないだけだろうね
523デフォルトの名無しさん:2006/08/05(土) 11:50:14
俺も独習で実力挙げるためにここにいるよ
Javaの授業は無かったな・・
524デフォルトの名無しさん:2006/08/05(土) 14:24:47
>>522
まだ初めて2日くらいです。
Eclipse入れて組み始めたのは今日が初日。
3年か4年前に授業でやったんだけどサボってばかりでした。
見たような課題が多かったのでまじめに受けてればってことでした。
525デフォルトの名無しさん:2006/08/05(土) 14:47:40
つーか雑談はスレ違い
526デフォルトの名無しさん:2006/08/05(土) 15:24:41
>>525
じゃあどこでやればいいんだ?ウ○コ
527デフォルトの名無しさん:2006/08/05(土) 15:33:04
>>526
Java質問スレ
528デフォルトの名無しさん:2006/08/05(土) 15:50:30
>>527
おいおい、厨を質問スレに呼び込むなよ
529デフォルトの名無しさん:2006/08/05(土) 19:03:27
SWINGってやっぱWINとMACじゃ見た目違う件について
530デフォルトの名無しさん:2006/08/05(土) 20:04:00
>>529
Look&Feelって言葉を御存じ?
531デフォルトの名無しさん:2006/08/05(土) 20:58:05
>>530
言葉も知ってるし使ってるけどもしかして
それって見た目同じ!ってことじゃなかったのか!?
532デフォルトの名無しさん:2006/08/05(土) 21:03:20
はあ?
533デフォルトの名無しさん:2006/08/05(土) 21:07:26
>>531
半年ググってなさい
534デフォルトの名無しさん:2006/08/05(土) 21:43:18
なんだWINDOWSスタイルサポートされてねぇじゃんつかえね( ゚д゚)、ペッ
535デフォルトの名無しさん:2006/08/05(土) 22:09:01
失せろ
536デフォルトの名無しさん:2006/08/05(土) 22:21:53
糞言語
537デフォルトの名無しさん:2006/08/06(日) 07:03:30
流石は宿題スレだなwww
538506=514:2006/08/06(日) 14:14:34
>>515
折角作ってくださったのに、連絡が遅れて申し訳ないです。
ちょうど金曜日に事故って片手片足折れた(正確にはひびが入った)ので
入院することになりました。

まぁそういうことですので許してください、お願いします。
539デフォルトの名無しさん:2006/08/06(日) 14:15:02
嫌です
540デフォルトの名無しさん:2006/08/06(日) 14:58:02
>>538は釣りだろ。
不慮の事故なら教官の救済がある。
そしたら、礼の書きこみか修正の要望があるはず。
それとも、そういった緊急事態にまともな対応ができないガキか?
541デフォルトの名無しさん :2006/08/07(月) 01:41:40
【 課題 】Miller-Rabin法により,10進数で50桁のランダムな素数を
      確率1−1/10^8で作成するプログラム。
【 期限 】8月中旬まで
【 補足 】BigInteger classを使う。
ランダムな素数とは、プログラムを実行するたびに10^49〜10^50-1
の範囲にある素数がランダムに出力されるということ。
      BigInteger(int bitLength, int certainry, Random rnd)
probablePrime(int bitLength, Random rnd)
nextProbablePrime()
isProbablePrime(int certainty)
これらのconstructor,methodを使ってはいけない。
      他のconstructor,methodは何でも使って良い。

宜しくお願いします。
542デフォルトの名無しさん:2006/08/07(月) 20:45:23
【 課題 】イクリプスで簡単なゴルフゲームを作れ
【 期限 】1週間
【 補足 】丸投げですがよろしくお願いします
543デフォルトの名無しさん:2006/08/07(月) 21:52:32
>>541出来たけど、ttp://sourcepost.sytes.net/ 今死んでいるっぽいので、
復活してからでいいよね?100行近くあるので直接貼るのは憚られる。
期限はまだあるし。
544デフォルトの名無しさん:2006/08/07(月) 22:02:25
>>543
ありがとうございます。
はい、復活してからで大丈夫です。
545542:2006/08/08(火) 01:46:21
何となく分かってきたんでパワーメーターの所だけでも教えていただけませんでしょうか
546デフォルトの名無しさん:2006/08/08(火) 02:16:13
お前がわかってても俺らには全然わからん
547デフォルトの名無しさん:2006/08/08(火) 05:40:07
>>545
どうせパワーメーターもなんとなくわかるんだろ。
ということで>>542は完結だな。
548543:2006/08/08(火) 09:32:48
>>541

http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=28180

最後の表示でisProbablePrime()を使っているけど、
確認のためなので必要なければ消去を。
certaintyの扱いがisPrime()とisProbablePrime()で違うのは、
isPrime()が誤判断率1/2^(2*certainty)であるのに対して、
isProbablePrime()では1/2^certaintyになっているから。
549デフォルトの名無しさん:2006/08/08(火) 17:48:03
>>542
気分転換に付き合ってあげやう。
ぱわーは大きいほうがおいしい。
いんぱくとは0に近いとぐっど。
値をせっとしているすれっどで、
ぱわーとかの値をとってないと、
りりーす時の値とずれが出るが、
まあいいかげんだしいいだろう。
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=28181
550デフォルトの名無しさん:2006/08/08(火) 18:42:17
>>548
実行できました。
ありがとうございました。
551デフォルトの名無しさん:2006/08/08(火) 21:04:13
>>549
ありがとうございました。なんとかなりそうです
552デフォルトの名無しさん:2006/08/09(水) 07:15:47
あげます
553MMM:2006/08/09(水) 08:06:00
【 課題 】
直径1pの銅線が、20℃の均一な温度に保たれているとする。
銅線の外面温度を20℃に保持したまま100KAの電流を流す時、
差分法により銅線内の定常温度分布を求めよ。
また、電流を流し始めてから定常温度分布が得られるまでのおよその時間を求めよ。
ただし、銅の物性値は、以下の通りとする。

熱伝導率k 400W/m・K
密度ρ 9000 kg/m3
比熱Cp 0.4 kJ/kg・K
体積抵抗率 2×10^-8 Ω・m

なお、解答は厳密解、定常、非定常のグラフを三本同じグラフに示すこと。

【 用語 】差分法:微分方程式に出てくる空間微分や時間微分の項を差分で置き換えるもの。
      今回は銅線を同心円状のメッシュに切って(バームクーヘンの様に)考えています。
【 期限 】早いと有り難いです。
【 Ver  】特に希望なし
【 補足 】『非定常』(Prob4Time.java)の方がうまく走りません。
プログラムの添削をおながいしますm(_ _)m

http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=28187
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=28188
554553:2006/08/09(水) 08:06:33
非定常の場合について、要は、

T'[k]=F0*[(1+(Δr)/(2*r[k])*T(k+1)+(1/(F0)-2)*T[k]+(1-Δr/(2*r[k]))*T[k-1]+{(Δr)^2}/k*H]
T'[0]=4*F0*{T[1]+(1/(4*F0)-1)*T[0]+{(Δr)^2/(4*k)*H} //境界条件
H=32/(π^2)*10^10 [J/m3・s]

T[k] : K番目における温度
T[k+1] : (k+1)番目における温度
F0 : フーリエ数。Fo=k*Δt/(ρ*Cp*(Δr)^2)
Δr : 分割した時のメッシュの厚さ
r[k] : 円の中心からk番目までの長さ

を解けばいいということになっているのですが、微分方程式を解く所に間違いがありそうです。
添削よろしくお願いしますm(_ _)m
555デフォルトの名無しさん:2006/08/09(水) 08:47:57
うまく走らないというが
うまいかうまくないかの判断を知ってるのはお前だけ
556デフォルトの名無しさん:2006/08/09(水) 09:40:18
チョット見たが>>554の式と>>553のソースの式が対応して無いように思えるが
557デフォルトの名無しさん:2006/08/09(水) 10:25:39
課題というか質問です

SunJavaWebServerをサーバとすることになったんですが、
jspでの記述で、htmlタグ要素の、例えばlength内にスクリプトレットやタグライブラリで、
length="<bean:write name="hogeForm" property="hoge"/>"
とすると、ダブルクォーテーションが正常に認識できないって言われたんですが、調べてもそんな現象話題になってなくて困ってます;;
ちなみに上記の場合はlength='〜'とすることで一応解決します。
jspがjavaとしてのコードよりhtmlタグを優先して見るなんて聞いたことなくて…
どなたか教えて下さい!
558デフォルトの名無しさん:2006/08/09(水) 10:29:25
>>557
【初心者】Java質問・相談スレッド88【大歓迎】
http://pc8.2ch.net/test/read.cgi/tech/1153834996/
559デフォルトの名無しさん:2006/08/09(水) 10:39:48
拡散方程式なんか、Fortranでやればいいのにな。
560557:2006/08/09(水) 10:45:00
ありがとうございます!
旅だってきます!
561デフォルトの名無しさん:2006/08/09(水) 10:50:56
ソースみて思った。
マジで >>553 は Fortran でやれよ。
extends Matrix とか、ダメな継承の典型例だし。。。
562デフォルトの名無しさん:2006/08/09(水) 11:27:40
>extends Matrix
うはw これって何継承してんの
563デフォルトの名無しさん:2006/08/09(水) 12:02:35
意味わからん継承
564553:2006/08/09(水) 12:32:34
皆さんレスサンクスです。
実は今回の課題はどの言語を使ってもいいんですよね…皆さんスミマセンm(_ _)m
おとなしくfortranでやろうかと思います
また別スレで同じ質問させて頂きます。マルチっぽくなってしまいますがどうかご勘弁をm(_ _)m
565デフォルトの名無しさん:2006/08/10(木) 03:29:42
【 課題 】次の様なアクセスができるクラス群を実現せよ(パッケージを利用する事) 。
クラス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の様に利用できる事を言う)。
【 期限 】なるべく早く。

丸投げですが、よろしくお願いします。
566デフォルトの名無しさん:2006/08/10(木) 04:59:21
>>565
どのコメントも外すとアクセスに関してのコンパイルエラーになる
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=28192
567565:2006/08/10(木) 05:37:31
>>566
素早い解答ありがとうございます。
これで安心して夏休みを迎えることが出来そうです。
568566:2006/08/10(木) 05:52:07
ひとつ書き忘れ
B.javaで
System.out.println("クラスA内の、A、B、Cでのみアクセスできる変数c : " + classB.c);
のclassB.cがclassA.cでないのはprotectedなフィールドの場合は
サブクラスからのアクセスはサブクラスのインスタンスを通さないとできない制限のため
つまりスーパークラスのインスタンスを通してはアクセスできないため
569デフォルトの名無しさん:2006/08/11(金) 00:38:44
宿題では内のですがBooleanを使った使用法の例えをあるだけ知りたいです
自分が知っているのは、こういう処理を抜けさせたいときに使う方法です
Boolean boo = (true);
while (boo) {
if (1 == 1) {
boo = (false);
}
570デフォルトの名無しさん:2006/08/11(金) 00:44:30
>>>569
while(true){
 if(条件){
  break;
 }
}
571569:2006/08/11(金) 00:47:01
>>570
お早いレスありがとうございます、質問の仕方が悪かったです
自分が知っているのは、そういうやり方のみで
その他にBooleanを使った使用例のプログラムを見てみたいです
572デフォルトの名無しさん:2006/08/11(金) 01:33:07
>>569の場合、普通booleanを使うと思う。autoboxing/auto-unboxingが効くから1.5ではコンパイルできるけど。
よくあるBooleanの使い方はbooleanな値をコレクションの要素にしたいときとかかな。
Javaのサンプルコードとかが多くあるサイトとかを見つけて、Booleanで検索すればBooleanの使用例を収集できるのでは?
573デフォルトの名無しさん:2006/08/11(金) 01:36:43
まあスレ違いなのでこれ以上質問したい場合は質問スレへどうぞ。
574デフォルトの名無しさん:2006/08/13(日) 12:19:02
【 課題 】jpg形式の画像ファイルを範囲指定によってトリミングできるプログラムを作りましょう
【 用語 】トリミング=切りとり
【 期限 】8月末まで
【 Ver  】とくになし
【 補足 】マウスのドラッグで範囲指定できるようにしたいけど、面倒なら座標指定でも可
575デフォルトの名無しさん:2006/08/13(日) 18:47:16
>>574
かなりいいかげんなので適当に直して
Java1.5なので1.4ならポップアップのところを直す必要あり
Windowsなら左ドラッグで選択、右クリックで保存
他のOSならそれに応じて操作
保存時、指定された拡張子に従って形式変換
書き込めなくてもサイズ0のファイルはできちゃうね
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=28202
576575:2006/08/13(日) 18:52:56
1.4ならsetLocationByPlatform()も除去しないとだめだね
577575:2006/08/13(日) 19:38:56
いちいちホームディレクトリが開くのがうざければ
JFileChooser c = new JFileChooser();

JFileChooser c = new JFileChooser(file);
にすれば画像ファイルと同じディレクトリが開く
しかし課題と関係ないところの話だな
578デフォルトの名無しさん:2006/08/14(月) 02:15:53
【課題】ttp://ura.2ce.org/jounn774/kadai.doc
【用語】特になし
【Ver】Java Ver1.4
【期限】8月23日迄
【補足】丸投げです。
579デフォルトの名無しさん:2006/08/14(月) 04:45:43
>>578
お前な、自分が常識的だと思われたかったら、doc形式はやめろよな。
580デフォルトの名無しさん:2006/08/14(月) 06:14:06
>>579
常識をもっていれば宿題丸投げで単位を取ろうなんて普通思わない
>>578
sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=28204
581デフォルトの名無しさん:2006/08/14(月) 09:29:19
>>580
日本語も理解できないやつがレスすな。
582デフォルトの名無しさん:2006/08/14(月) 09:43:19
>>581 
>>579
> 常識的だと思われたかったら
宿題を丸投げするなってことだろ?日本語以前に
この場の状況を理解していないお前がレスするなよボケ
夏休み中のガキはひっこんでろ
583デフォルトの名無しさん:2006/08/14(月) 09:48:13
IDの見えないスレッドで何を言っても無駄ですよと。。。
584デフォルトの名無しさん:2006/08/14(月) 09:53:15
宿題系のスレは、全部fusianasan必須にすればいいと思うんだ
585アフォルトの名無しさん:2006/08/14(月) 11:19:32
>>575

java1.4の場合、setLocationByPlatform()とsetComponentPopupMenu()を
どういう風にしたらいいんですか?
586デフォルトの名無しさん:2006/08/14(月) 11:56:08
場の状況とかナントカ言っていながら、>>580 のおかげで >>579
doc形式でやりとりするのは迷惑だとの親切な指摘が無駄に
なってしまった件。
587デフォルトの名無しさん:2006/08/14(月) 12:14:58
OpenOfficeくらいいれろと。
588デフォルトの名無しさん:2006/08/14(月) 12:58:23
一太郎形式よりは、マシだがdocは、ねーよwww
PDFであげろよな。妥協してTXT
589デフォルトの名無しさん:2006/08/14(月) 13:15:12
>>585
setLocationByPlatform()もsetComponentPopupMenu()も消せ
もともと課題で求められていない部分だ
590デフォルトの名無しさん:2006/08/14(月) 18:49:23
見れないものや見たくないものを面倒な思いまでして見てやろうなどと思わず、
やれる範囲で対応すればいいんじゃないか?それこそ自分自身の宿題じゃないんだから。
必要なければスルーに徹する。やる気があるなら淡々とやる。皮肉も喧嘩腰もいらない。
単にdoc形式なんかで回答者の間口を狭める不利益が理解できなかった578の罪。
591デフォルトの名無しさん:2006/08/14(月) 20:14:17
>>588
わざわざ>>578のためにOpenOfficeを入れろと?
592デフォルトの名無しさん:2006/08/14(月) 20:15:02
テンプレにそこら辺も追加した方がいいのかな?

#常識だとは、思うが・・・。
593デフォルトの名無しさん:2006/08/14(月) 20:51:00
宿題マダー?
早くこいやー
こちとら暇なんだよ。
594デフォルトの名無しさん:2006/08/14(月) 20:55:35
>>591
ちょww激しくリンクミスしてるぞww
595デフォルトの名無しさん:2006/08/14(月) 20:58:31
>>578 のドキュメントが消えてる件。
礼儀知らずもいいところだな。
596デフォルトの名無しさん:2006/08/14(月) 21:00:52
>>595
docで上げるくらいだからな・・・。
597デフォルトの名無しさん:2006/08/14(月) 21:07:49
【 課題 】素数 p に対し, p+2 が素数である時,p と p+2 の組 (p,p+2) は双子素数といいます.
例えば最低の双子素数は, 3,5 です.
いま自分の学籍番号の下三桁を number とし誕生日をbirthday とします
(例えば 12 月 5 日が誕生日の時,birthday=1205,2 月 16 日の時は birthday=216 です).
このとき,2 以上,number+birthday 以下の双子素数をすべて計算するプログラムを作成しなさい.
【 期限 】なし(提出済のため)
【 Ver  】1.4
598デフォルトの名無しさん:2006/08/14(月) 21:16:11
>>597

> 【 期限 】なし(提出済のため)

?????? ? ? ? ? ? ?????????? ? ? ? ? ? ? ? ? ? ?
599デフォルトの名無しさん:2006/08/14(月) 21:19:48
>>597
出してるならいいじゃん。再提出にしても期限は、あるだろうに。。。
600デフォルトの名無しさん:2006/08/14(月) 21:48:25
納期なしの案件がきたらどうするよ?
601デフォルトの名無しさん:2006/08/14(月) 22:05:04
>>600
まあ金になるなら一応やるんでない?
602デフォルトの名無しさん:2006/08/14(月) 22:09:05
金にならんぞw
603デフォルトの名無しさん:2006/08/14(月) 22:20:11
y=x^2のグラフを表示せよ
604デフォルトの名無しさん:2006/08/14(月) 22:23:05
>>603
簡単じゃないか。
簡単携帯S
By au by KDDI
605デフォルトの名無しさん:2006/08/14(月) 22:25:45
>>603


606デフォルトの名無しさん:2006/08/14(月) 22:33:03
>>605
違うだろw
∪か∩だろw
607デフォルトの名無しさん:2006/08/14(月) 22:41:40
負じゃないんだから∩はねぇだろw
608デフォルトの名無しさん:2006/08/14(月) 22:44:54
低学歴くさいインターネッツですねw
609デフォルトの名無しさん:2006/08/14(月) 22:54:42
>>606
低学歴乙
610603:2006/08/14(月) 23:31:30
あれ?まだ誰も答えて下さってないのね・・・
611デフォルトの名無しさん:2006/08/14(月) 23:32:49
>>610
難しいんですw難し過ぎるからググれカス
612603:2006/08/14(月) 23:37:31
>>611
あるぇ〜、答えられない人に命令されたくないYO!
613デフォルトの名無しさん:2006/08/14(月) 23:40:04
夏だな
614603:2006/08/14(月) 23:44:57
>>613
あるぇ〜、答えられない人は、レスする権利ないYO!
615603:2006/08/14(月) 23:45:28
さっさと答えろ廃人ども
616603:2006/08/14(月) 23:46:11
>>612
>>614-615
偽者乙
617603:2006/08/14(月) 23:46:48
あの教えて頂けませんか?
あとググるって何ですか?
618603:2006/08/14(月) 23:50:11
age
619603:2006/08/14(月) 23:50:43
騙るの止めてくれませんか><
620603:2006/08/14(月) 23:51:20
答えれないならこのスレにいないでください
621603:2006/08/14(月) 23:51:55
>>611
お願いですから教えてちょ
622603:2006/08/14(月) 23:52:58
さっさと教えろと何度言えばいいのかと。
こちとら期日が迫ってるんだよと。
623デフォルトの名無しさん:2006/08/14(月) 23:54:46
いいかげんにしろ>>603カエレ
624デフォルトの名無しさん:2006/08/14(月) 23:59:58
>>623
本物は既にいませんよ?w
625デフォルトの名無しさん:2006/08/15(火) 00:05:25
さて、本物は良いとして、y=x^2のグラフを表示するプログラムマダー?
626デフォルトの名無しさん:2006/08/15(火) 00:25:47
なんだなんだ、ここは、Javaを使っているのにプロットも出来んのか?
627デフォルトの名無しさん:2006/08/15(火) 00:36:38
Javaっつったらグラフ描くための言語だろーがよ
628デフォルトの名無しさん:2006/08/15(火) 00:38:48
>>623
馬鹿だろw
629デフォルトの名無しさん:2006/08/15(火) 00:39:19
でどこまで本物の603?
630デフォルトの名無しさん:2006/08/15(火) 00:44:27
焦点はどれが本物の>>603かではない、>>603の答えが何なのか?だ
631デフォルトの名無しさん:2006/08/15(火) 01:22:19
質問テンプレ埋めてないからスルーしろ
632デフォルトの名無しさん:2006/08/15(火) 01:26:20
【 課題 】 y=x^2のグラフを表示せよ(X軸Y軸も表示すること)
【 用語 】二次関数
【 期限 】8月末
【 Ver  】最新版
【 補足 】アプレット使用
633デフォルトの名無しさん:2006/08/15(火) 04:43:07
>>632
public class G extends java.applet.Applet{public void paint(java.awt.Graphics g){int w=getWidth();int h=getHeight();int
p=0;int q=h*10*99/11/100;g.setColor(java.awt.Color.RED);for(int i=0;i<110;i++){double x=(double)(i-10)/100.0;double y=x*
x;int u=(int)((x+0.1)*w*10/11);int v=(int)((1.0-y)*h*10/11);g.drawLine(p,q,u,v);p=u;q=v;}g.setColor(java.awt.Color.BLACK
);g.drawLine(0,h*10/11,w,h*10/11);g.drawLine(w/11,0,w/11,h);}}
634デフォルトの名無しさん:2006/08/15(火) 09:27:43
なんで最新版なのかと小一時間?
635デフォルトの名無しさん:2006/08/17(木) 00:15:11
最新版てb94とかのことか
636デフォルトの名無しさん:2006/08/18(金) 10:50:47
【 課題 】Eclipseにおいてスタック、逆ポーランド記法を用いた加減乗除算を行う
      プログラムをつくりなさい。除算で割り切れないものは分数で出力すること。
【 用語 】ないとおもいます。
【 期限 】本日午後4時
【 Ver  】わかりません
【 補足 】アプレット使用不可
637636:2006/08/18(金) 15:40:46
期限今日中でした_| ̄|○

誰かマジで頼む
638デフォルトの名無しさん:2006/08/18(金) 16:00:43
むう今見た
せめて前日ならね
639デフォルトの名無しさん:2006/08/18(金) 16:18:23
同じく今見た
期限ぎりぎりになってあわてる馬鹿にはいい薬だ
640デフォルトの名無しさん:2006/08/18(金) 16:26:28
急ぎのようだったので急ごしらえ
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=28221
641636:2006/08/18(金) 16:26:57
先生に謝ってきたorz

期限月曜まで((=゚Д゚=)のびた
われながら馬鹿だとは思うがほんとよろしく頼む
642デフォルトの名無しさん:2006/08/18(金) 16:29:05
間が悪いってこういう事を言うんだな。
643デフォルトの名無しさん:2006/08/18(金) 16:29:42
644デフォルトの名無しさん:2006/08/18(金) 17:53:58
>>636
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=28222
引数なしで起動の場合は標準入力から逆ポーランド表記を読み込み。ストリーム終端で終了。
引数で逆ポーランド表記を指定した場合は標準入力からは読み込まない。
演算子は+-*/=。被演算子は整数のみ。演算子、被演算子ともにスペースで分かち書きすること。
例:java RPNCalc 1 2 / 2 3 / + = 10 8 - 11 55 / "*" = - =
"*"はコマンドラインで*が展開されないようにするおまじない。標準入力からの読み込みでは不要。
例外処理はやってないので注意。分母が0の分数計算とか。被演算子がないのに演算子を適用するとか。
645636:2006/08/22(火) 15:42:32
>>640
>>644

レス遅れてスマソ。無事提出できたおヽ(´ー`)ノ
646こんこん:2006/08/27(日) 14:42:24
課題ができないんですがどなたか助けてください。
できる方宜しくお願いします。
その課題は…
2を底とする最小の強擬素数、2,3を底とする最小の強擬素数、2,3,5を底とする最小の強擬素数、
2,3,5,7を底とする最小の強擬素数、2,3,5,7,11を底とする最小の強擬素数…と可能な限り計算
するためのJavaプログラミングを作成せよ。
というものです。
締め切りは8月中にできるだけお願いします。
647デフォルトの名無しさん:2006/08/27(日) 17:11:43
糞して寝ろ
648デフォルトの名無しさん:2006/08/27(日) 17:26:31
>>553はFortranよりMATLABでやったほうが早いんでは?

MATLABは金がかかるのでMATLABのオープンソース版Octaveもおすすめだが。
649デフォルトの名無しさん:2006/08/27(日) 18:27:00
>>646
もっと詳しく説明しろもう底なんか忘れたんだ
650デフォルトの名無しさん:2006/08/27(日) 18:31:39
>>646
>>1を読み、課題提示用テンプレにしたがって再提示。
数学問題ならそのアルゴリズム等もできるだけ示したほうがいい。
アルゴリズム自体が分からないのなら、それは板違いであって数学板で聞いた方がいい。
Javaの宿題はアルゴリズムを理解することでなく、どうやってJavaで実装するかだ。
651デフォルトの名無しさん:2006/08/27(日) 18:34:38
>>646はマルチだね
652ぼるじょあ ◆yBEncckFOU :2006/08/27(日) 18:42:04
(・3・) エェー マルチはむっしっし
653こんこん:2006/08/27(日) 21:50:47
すいませんでした。
課題提示用テンプレにしたがって再提示します。
654こんこん:2006/08/27(日) 22:11:38
【 課題 】2を底とする最小の強擬素数、2,3を底とする最小の強擬素数、2,3,5を底とする最小の強擬素数、
2,3,5,7を底とする最小の強擬素数、2,3,5,7,11を底とする最小の強擬素数…と可能な限り計算
するためのJavaプログラミングを作成せよ。

【 用語 】強擬素数についてですが
      http://www.ise.chuo-u.ac.jp/TISE/pub/journal10/journal1001.pdf#search='%E5%BC%B7%E6%93%AC'
      の定義1.6を参照願います。
【 期限 】急ですが8月中でお願いします
【 Ver  】特にないです。
【 補足 】BigInteger(int bitLength, int certainry, Random rnd)
      probablePrime(int bitLength, Random rnd)
      nextProbablePrime()
      isProbablePrime(int certainty)
      これらのconstructor,methodを使ってはいけない。
      他のconstructor,methodは何でも使って良い。
      
      よろしくお願いします
655こんこん:2006/08/27(日) 22:18:59
654の付け加えです。
底についてですが
http://www.suriken.com/knowledge/glossary/base.html
の参照願います。
べき乗を表示する方法を知らないので無礼ではございますかどうかお許しください
656デフォルトの名無しさん:2006/08/27(日) 22:40:54
中央大学乙
657デフォルトの名無しさん:2006/08/27(日) 23:55:08
【 課題 】
・凸多角形を走査変換するプログラムを作成せよ。
・2次元空間でテクスチャマッピングを行うプログラムを作成せよ。
・球を陰影をつけて描画せよ。レイトレーシングを利用してもいいが、2次元の円の内部に奥行きや法線を適当な方法で計算して立体感を出すのでもいい。
【 期限 】今月いっぱい
【 補足 】JAVAやったことないっす
658デフォルトの名無しさん:2006/08/28(月) 00:06:10
659こんこん:2006/08/28(月) 00:39:32
【 課題 】Miller-Rabin法により,10進数で50桁のランダムな素数を
      確率1−1/10^8で作成するプログラム。
【 期限 】8月中旬まで
【 補足 】BigInteger classを使う。
ランダムな素数とは、プログラムを実行するたびに10^49〜10^50-1
の範囲にある素数がランダムに出力されるということ。
      BigInteger(int bitLength, int certainry, Random rnd)
probablePrime(int bitLength, Random rnd)
nextProbablePrime()
isProbablePrime(int certainty)
これらのconstructor,methodを使ってはいけない。
      他のconstructor,methodは何でも使って良い。

541の上記の問題を548の答えとは別のやり方でできる方宜しくお願いします。
660デフォルトの名無しさん:2006/08/28(月) 01:02:14
随分ワガママな奴だな
661こんこん:2006/08/28(月) 01:10:07
ワケありです。
この宿題は人と答えがカブると都合が悪いので。
ワガママと言われるのも無理ないですが。。。
662デフォルトの名無しさん:2006/08/28(月) 01:40:17
つーか、期限切れてんじゃん
663こんこん:2006/08/28(月) 01:47:53
↑すいません、期限は8月中です。
664デフォルトの名無しさん:2006/08/28(月) 02:05:21
っObfuscator
665デフォルトの名無しさん:2006/08/28(月) 06:33:08
>>659
たかが中央大学なんだ、かぶっても問題ないだろう。
666デフォルトの名無しさん:2006/08/28(月) 07:52:17
なんで、こんこんなの?
667デフォルトの名無しさん:2006/08/28(月) 08:19:05
>>664でいいんじゃないの?
668デフォルトの名無しさん:2006/08/28(月) 08:55:34
>>654
効率無視。無駄がいろいろ。底2,3,5までしか確認してない。
実行時に-Xmxでメモリ割り当てをできるだけ大きくとっておくこと。
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=28251
実行速度が犠牲になるがメモリ使用量を減らすには、11行目から34行目を以下のように変更。
private boolean isComposite(BigInteger n) {
BigInteger sqrtn = sqrt(n);
for (BigInteger m = THREE; m.compareTo(sqrtn) <= 0; m = m.add(TWO)) {
if (n.mod(m).equals(BigInteger.ZERO)) {
return true;
}
}
return false;
}
longの範囲でしか求めないのなら合成数の判定に関わる部分全般をBigIntegerからlongにした方が少し速いし、
メモリ使用量も少し減る。確認してないけどメモリさえ潤沢ならば2,3,5,7,11,13,17,19,23,29,31を底とする
最小の強擬素数までは大丈夫っぽい。もし試すならisComposite(long)を呼び出す側も変更が必要。
isComposite(n.longValue())みたいな感じで。
private ArrayList<Long> notComposite = new ArrayList<Long>();
{ notComposite.add(2l); notComposite.add(3l); notComposite.add(5l); notComposite.add(7l); }
private boolean isComposite(long n) {
long sqrtn = (long)Math.sqrt(n);
boolean b = true;
for (long m : notComposite) {
if (m > sqrtn) { break; }
if (n % m == 0) { b = false; break; }
}
if (b) { notComposite.add(n); }
return ! b;
}
669こんこん:2006/08/28(月) 17:08:56
ありがとうございます。
コンパイル試してみます。
670こんこん:2006/08/28(月) 19:13:10
コンパイルできました。
ありがとうございました。
プログラムの内容の詳しい説明してくれるとありがたいです。
671デフォルトの名無しさん:2006/08/28(月) 19:24:42
お前ウザすぎ
そこまでしてもらって自分で考えろよハゲ
672デフォルトの名無しさん:2006/08/28(月) 19:59:20
さすがは中央大学だな。
673デフォルトの名無しさん:2006/08/28(月) 20:29:10
中央大学ね、、専修大学といい糞は糞か
674デフォルトの名無しさん:2006/08/28(月) 21:28:05
【 課題 】指示されたデータ10個をソートする処理を行う。
      但し、プログラムは次の条件(補足に記します)に従って作成する。
【 期限 】8月中
【 Ver  】バージョンがよく分からないんですが、J2SE SDKでいいでしょうか?
【 補足 】
   (1)プログラム Program.java
     @ソートするデータを配列で定義し、配列を引数にしてプログラムSort.java
      (クラス Sort)のメソッドDatasort()を呼び出す。
     A昇順にソートしたデータを画面に表示する。
   (2)プログラム Sort.java
     @引数でもらった配列を昇順にソートする。
      ※ソートの方法は、配列の前後で大きいか小さいかを不等号を使って判断し、
       入れ替えを行う操作を繰り返し行うもの。
     Aソートした結果は配列で返す。
   (3)データ:43,26,95,64,24,76,23,65,73,16

>>1は一応すべて読みました。
足りない点があったら教えてください。
よろしくお願いします
675デフォルトの名無しさん:2006/08/28(月) 21:37:07
>>674
Arrays.sort()は使用するなということか?
676デフォルトの名無しさん:2006/08/28(月) 21:38:59
>>675
そういうことになります。
まだJAVAを習い始めたばかりなのであまり関数は習っていません。
なので、これを使用するなというのは分からないので、聞いてもらえると幸いです。
677デフォルトの名無しさん:2006/08/28(月) 21:43:57
>>674
そのデータはコマンドライン引数で与えるのか、CUIで対話的に与えるのか、
テキストファイルで与えてを読み込ませるのかを書いておくと、
やる側として少し幸せ。
678674:2006/08/28(月) 21:52:17
>>677
コマンドライン引数って言うのはプログラムの中に
kazu[] = {43,26,95,64,24,76,23,65,73,16};
とかのように定義しておいて、これを使用するという意味ですよね?
CUIで対話的というと実行してから、手動で値を入力していくという意味ですか。
(C言語でいうscanf関数のような)
たぶんプログラムが二つしか与えられていないことから、
自分の上記に挙げた見解どおりで正しければ、コマンドライン引数でOKです。
よろしくお願いします。
679デフォルトの名無しさん:2006/08/28(月) 21:52:25
>>674
あと、

     @ソートするデータを配列で定義し、配列を引数にしてプログラムSort.java
      (クラス Sort)のメソッドDatasort()を呼び出す。

ってのは本当に Datasort() としていいのか?
メソッド名は小文字で始めるのが慣例なのだが。
680デフォルトの名無しさん:2006/08/28(月) 21:53:32
>>678
コマンドライン引数というのは、

$ javac Program.java
$ java Program 43 26 95 ... 73 16

ってやること。
681674:2006/08/28(月) 21:54:45
>>679
あっていると思います。
課題プリントに書いてありますし、今使っている教科書もメソッド名は
大文字で始まるかすべて大文字です。
プログラムを作成する上で支障が出るのであれば大文字でも結構ですが
なるべく課題通りに済ませたいです。
初心者の回答ですみません。
よろしくお願いします。
682674:2006/08/28(月) 21:57:39
>>680
その記述がよく分からないのですが、
>>678で挙げたようにkazu[] = {43,26,95,64,24,76,23,65,73,16};
の例のようにProgram.javaの中に配列で定義してもらえれば結構です。
683デフォルトの名無しさん:2006/08/28(月) 21:59:38
684674:2006/08/28(月) 22:12:54
>>683
2つのプログラムを動かしてみたのですがProgram.javaの方を実行すると
------------------------------------------------
C:\>javac Program.java
Program.java:8: シンボルを解決できません。
シンボル: 変数 Sort
場所 : Program の クラス
int [] result = Sort.Datasort(input);
エラー 1 個           ^
------------------------------------------------
このように出て実行できませんでした。
これはProgramからSortのデータを読み出すのに失敗しているわけですよね?
いろいろ試したのですが解決策が分かりません。
どうすればよいでしょうか?

685デフォルトの名無しさん:2006/08/28(月) 22:22:07
ん?コンパイルできないってか
Program.java と Sort.javaは別のファイルに分けてるよな?
686674:2006/08/28(月) 22:24:22
>>684
package thread57.res674;
これを除いて、上下にあるclass名と同じファイル名で保存して
2つに分けてあります。
2つのファイルはCドライブの直下に保存して有ります。
687674:2006/08/28(月) 22:25:14
↑の書き込みは
>>684ではなく>>685でした。
688デフォルトの名無しさん:2006/08/28(月) 23:43:55
javac -cp . Program.java
689デフォルトの名無しさん:2006/08/28(月) 23:45:32
クラス名の大文字小文字を間違えている
690674:2006/08/28(月) 23:57:07
>>688
実行できませんでした。。。

>>689
かなり見たんですけど分かりません。
どこですか?
691674:2006/08/29(火) 00:01:38
>>684
------------------------------------------------
C:\>javac Program.java
Program.java:8: シンボルを解決できません。
シンボル: 変数 Sort
場所 : Program の クラス
int [] result = Sort.Datasort(input);
エラー 1 個   ^
------------------------------------------------
こうでした。
ハット(^)の位置がずれていました
692デフォルトの名無しさん:2006/08/29(火) 00:01:42
ソース中でなくて、Sort.javaがSort.javaになってないのではという指摘
693674:2006/08/29(火) 00:03:38
>>692
ファイル名のことですか?
ファイル名はクラス名通り大文字小文字も同じでSort.javaとProgram.javaです
694デフォルトの名無しさん:2006/08/29(火) 00:05:09
Sortだけコンパイルしてみた?
695デフォルトの名無しさん:2006/08/29(火) 00:05:45
javac -sourcepath . Program.java
696674:2006/08/29(火) 00:11:53
>>694
Sortだけはできました。

>>695
ハットの位置がずれただけでまったく同じエラー文でした。


このPCの設定がうまくいってないのかな・・・
頂いたプログラムが実行できる人いますか?
697デフォルトの名無しさん:2006/08/29(火) 00:19:47
何の問題も無くできる
環境を見直せ
698674:2006/08/29(火) 00:25:14
>>697
コンパイラのインストール、pathの設定は行ったのですが
原因と思われるものはありますか?
一応、教則本に則って進めてきたのですが・・・

SortとProgramの位置は同じCドライブの直下なんですが保存場所で間違えてるとかありますか?
699デフォルトの名無しさん:2006/08/29(火) 00:29:59
Cドライブのルートディレクトリでも問題はないと思う。
javac *.java
とか
javac Sort.java 後に javac Program.java する
とか
そのエラーメッセージはコンパイラがSortを見つけられないわけで……
700674:2006/08/29(火) 00:39:34
すみませんできました!
エラー文を検索したところすぐに見つかりました。
意味は分かりませんが、どうやらカレントディレクトリ(.)がクラスパス(classpath)
に含まれていないのが原因だったようです。
遅くまで手伝ってくれた方々ありがとうございました。
親切でとても助かりました。
また解決できないことがありましたらそのときはよろしくお願いします。
ありがとうございました!
701ぼるじょあ ◆yBEncckFOU :2006/08/29(火) 20:37:27
(・3・) エェー CLASSPATHわかんにゃいのかYO
702デフォルトの名無しさん:2006/08/30(水) 01:12:02
>>701
C++厨のあんたが出張ってくるとはよほど暇らしいなw
C/C++界隈でがんばれ
かげながら応援している
703674:2006/08/30(水) 01:23:14
名前: 674
E-mail:
内容:
正直分からないです。。
あと
-----------------------------------------------------------
00020:
public class Sort {
public static int[] Datasort(int [] input){
    ~~~~~~
-----------------------------------------------------------
この部分のstaticがないとうれしいのですが、プログラム可能でしょうか?
MyPCで実行すると、staticがない場合、
-----------------------------------------------------------
Kadai1.java:15: static でない メソッド DataSort(int[])を
static コンテキストから参照することはできません。
-----------------------------------------------------------
と出ます。
どうにかできませんか?
704674:2006/08/30(水) 01:26:38
Kadai1.javaはSort.javaのことです・・・
705デフォルトの名無しさん:2006/08/30(水) 01:35:15
staticを削除

mainメソッドの中に
Sort sort = new Sort();
int [] result=sort.DataSort(input);

int [] result=Sort.DataSort(input);を削除
706デフォルトの名無しさん:2006/08/30(水) 01:39:09
>>703
staticコンテキストから参照することはできませんって言われてるんだから、
非staticコンテキストから参照すればいいだけだよ。
なぜstaticがないとうれしいかも不明だ。
staticの意味するところを理解していないだけか。
int [] result = new Sort().Datasort(input);
Javaの勉強がんばれい。
707674:2006/08/30(水) 02:10:18
>>705
迅速な回答ありがとうございます。助かりました。

>>706
正直説明をいただいても理解ができてません。。。
テキストを読みながら地道に学習したいと思います。
staticがないとうれしいというのは課題の参考プログラムにstaticが含まれていなかったからです。
自分もわざわざstaticを削除する必要はあるのかと思いましたが、参考プログラム通りに製作しなければならないので
お尋ねしました。
迅速な回答と、励ましの言葉ありがとうございました。
708デフォルトの名無しさん:2006/08/30(水) 02:23:04
>>707
元のmain中でDataSort(input)を呼び出した時点ではSortクラスのインスタンスは作られていない。
この時点で呼び出せるSortのメソッドはstaticなメソッドのみ。なのでDataSort()にstaticがつく。
staticなメソッドはクラスさえロードされていれば呼び出せるもので、具体的なインスタンスがなくても呼び出せる。
staticでないメソッドはインスタンスが作られていないと呼び出せないメソッドなので、
new Sort()でインスタンスを作って、そのインスタンスから呼び出す形になる。
「staticコンテキストから参照することはできません」とは、
インスタンスなしの文脈からは非staticなメソッドは呼び出せないという意味を含む。
709674:2006/08/30(水) 11:40:03
>>708
分かりやすいです。
ありがとうございます。
簡単にいうと、mainでSortクラスに関係するインスタンスを作っていないから、
よそのクラスからSortクラスの内容を直接読み出そうとするにはstaticが必要になる。
そのために、Sortクラスからstaticをはずして読み出すにはSortクラスの
インスタンスを作っておけば、問題なく読み出せる。というカンジですか?
親切な方の指導はとても助かります。ありがとうございました!
710デフォルトの名無しさん:2006/08/30(水) 12:30:09
【 課題 】AWTを使い、プログラム作成
【 期限 】今日明日中ででお願いします
【 補足 】チェックボックスを使用して○×クイズをお願いします。
       問題を10問ほどで、全ての問題に○か×かチェックを入れてから
       解答ボタンで一括解答みたいな感じでお願いします。
711デフォルトの名無しさん:2006/08/30(水) 15:42:10
>>710
問題用意しろやゴルア
712デフォルトの名無しさん:2006/08/30(水) 16:03:01
宿題ムズイ><
713710:2006/08/30(水) 17:28:38
>>711
レス有難うございます。
問題はまだ考えてないので、aとかbとか適当でお願いします…。
714デフォルトの名無しさん:2006/08/30(水) 18:17:29
>>710
わけわかんね
問題の配置はどうなるんだ
例えば1つのパネルに全部問題を並べるとか
715710:2006/08/30(水) 18:28:38
g.drawStringで問題を書いて、その次の行に○ or ×のチェックボックスを設置でお願いします。
パネルは使用しなくて結構です。
716デフォルトの名無しさん:2006/08/30(水) 18:30:02
問題用意しろとか言ってるやつヴァカじゃね?
そんなのぐらい後から差し込めるように設計しろよな、雑魚。
717デフォルトの名無しさん:2006/08/30(水) 18:31:54
>>716
解答UPしてから言えば?
718デフォルトの名無しさん:2006/08/30(水) 18:40:34
問題文はLabelに書いちゃえば良いんじゃない?
でPanelにCheckBoxと交互に垂直に並べて
最後に解答ボタン。
ScrollPaneに入れて上下スクロール可能に。
問題文とその解答はCSV形式にして
ファイルで読み込ませる形で。
719710:2006/08/30(水) 18:48:07
皆さんありがとうございます。
パネルやファイルから読み込ませるのはまだ習ってないので
もっと、簡単なプログラムでお願いします(^^;
お手数掛けますが宜しくお願いします。
720デフォルトの名無しさん:2006/08/30(水) 19:09:46
ほう・・ファイル操作よりもAWTのほうを先に習うのか・・・
721ぼるじょあ ◆yBEncckFOU :2006/08/30(水) 19:42:09
>>702
(・3・) エェー 最近C/C++は宿題ないんですYO
          まぁどっちにしろほとんど答えないんですけどNE
722デフォルトの名無しさん:2006/08/30(水) 19:43:19
なんなの、このキモコテ
723デフォルトの名無しさん:2006/08/30(水) 19:50:57
>>710
そういう条件の方が個人的には簡単じゃないよorz
問題と解をソースに埋め込むのは簡単だけど、
g.drawStringで描いたものとコンポーネントを直に混在させるとかは面倒くさいよ。
何を習って何を習っていないのかはっきりさせないと答が出なさそうな。

書いちゃったのでもったいないからとりあえずご参考ということで貼っとく。
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=28260
スクロール忘れたけど、どうせ要求満たしてないからいいか。genericsとかも駄目なんだろうね……
724ぼるじょあ ◆yBEncckFOU :2006/08/30(水) 19:58:02
(・3・) エェー 僕コテじゃないC
725デフォルトの名無しさん:2006/08/30(水) 20:01:32
トリップとかキャップは、コテハンにあたりますが?
726ぼるじょあ ◆yBEncckFOU :2006/08/30(水) 20:02:43
(・3・) エェー 公開トリップは名無しと同じようなもんYO
727デフォルトの名無しさん:2006/08/30(水) 20:03:59
キモイキモイキモイキモイキモイキモイキモイキモイキモイキモイキモイ
マジキモイ
顔文字でら臭
728ぼるじょあ ◆yBEncckFOU :2006/08/30(水) 20:10:46
(;3;) エェー 宿題答えるから許してお
729723:2006/08/31(木) 00:41:06
>>710
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=28262
コレクションもなし、匿名クラスもなし、問題は配列でハードコーディング、
問題文はGraphics#drawStringで描画、チェックボックスで○×選択。
配列内で、
"問題文",正しいか誤りかをBoolean.TRUEかBoolean.FALSE,
のペアで問題を記述。
こんなのでsetLayout(null)するのはイヤだよ。
730723:2006/08/31(木) 00:43:52
あ、またスクロール可にするのを忘れた。
まあ10問くらいならなんとかなるか。
それにスクロールさせるのは習っていませんて言われるかもしれないし。
731デフォルトの名無しさん:2006/08/31(木) 00:53:23
ファイル操作は知らずAWTは習っていて文字列表示にdrawStringって、まさかappletってオチ?
732730:2006/08/31(木) 01:03:50
>>729
毎回どうもです。
○×クイズ自体はこれで全然OKなのですが、
まだ全然Java習い始めたばかりで、習ってないのが多いんですよ…(^^;
もっとifなどを利用した簡単なプログラム組めませんでしょうか?
>>731
はい…appletです。
733710:2006/08/31(木) 01:04:58
730じゃなくて710です、すいません。
734723:2006/08/31(木) 02:38:09
>>710
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=28265
三項演算子を無くした、キャストも無くした、生成されるクラスもひとつだけになった。
メソッドもアプレット由来のinit,paintとボタンが押された時用のactionPerformedだけに。
制御構文なんてifとforしか使ってないのだが。まさかifだけで書けというのか。
問題数を限定するならforを無くすることはできるが、それはいくらなんでもあんまりだ。
位置やサイズの指定が複雑なのはLabelでなくdrawStringで文字列を描けという点に由来する。
appletタグのwidth属性とheight属性の値は全部表示されるように大き目にとること。
735デフォルトの名無しさん:2006/08/31(木) 10:12:37
Visual Age for Java v3.5.3について教えて下さい
736デフォルトの名無しさん:2006/08/31(木) 10:49:17
>>735
IBMの製品です
737710:2006/08/31(木) 12:38:56
>>734
有難うございます。
drawStringでなく、Labelで文字列を描くと分かりやすいプログラムになるんでしょうか?
お手数掛けますが、そちらも出来ればお願いします。
738デフォルトの名無しさん:2006/08/31(木) 13:14:30
流石にうざいよお前
739デフォルトの名無しさん:2006/08/31(木) 13:23:48
最近多いよな。
腰が低く丁寧だが、物凄く傲慢で厚かましいヤツ。
740710:2006/08/31(木) 13:24:01
>>738
そうですよね…。
分かりました、後はがんばって自分で考えます(^^;
色々有難うございました。
741デフォルトの名無しさん:2006/09/01(金) 00:02:26
っ[ 慇懃無礼 ]
742デフォルトの名無しさん:2006/09/02(土) 14:23:24
public interface Item{}
というインターフェースがあります。今のところマーカーインターフェースです

List<E extends Item> list
があります。このlistにはItemをインプリした100種類以上のクラスが格納されています。

このlistから下記で定義されるTargetのインスタンスを取り出すには、どのようにすればよいでしょう?
public class Target implements Item{}
class Targetならびにinterface Itemの内容は自由に定義してよいものとします。
743デフォルトの名無しさん:2006/09/02(土) 14:34:35
>>742
>>1の課題提示用テンプレを埋めて課題を再提示するか、
質問用のスレッドで質問するかの選択を。
744失礼しました:2006/09/02(土) 14:46:57
【 課題 】public interface Item{}
というインターフェースがあります。今のところマーカーインターフェースです

List<E extends Item> list
があります。このlistにはItemをインプリした100種類以上のクラスが格納されています。

このlistから下記で定義されるTargetのインスタンスを取り出すには、どのようにすればよいでしょう?
public class Target implements Item{}
class Targetならびにinterface Itemの内容は自由に定義してよいものとします。
【 用語 】
【 期限 】9/12日13:00
【 Ver  】1.5以上
【 補足 】
745デフォルトの名無しさん:2006/09/02(土) 14:50:43
>>744
こんな感じでinstanceofを使うのはどうでしょう?

import java.util.*;
public class ExtractTarget {
public static void main(String[] args) {
List<Item> list = new ArrayList<Item>();
list.add(new Target());
list.add(new Item() {});
list.add(new Item() {});
list.add(new Target());
list.add(new Item() {});
list.add(new Target());
int j = 0;
for (Item i : list) {
if (i instanceof Target) {
System.out.println(j + ":" + i);
}
j++;
}
}
}
746デフォルトの名無しさん:2006/09/05(火) 17:33:23
【課題】
コマンドライン引数に入力された年と月から
その月が何日まであるかを表示しなさい。
(日付、その他のチェックも行うこと)

【期限】今週中
【補足】閏年とかはどうなるのでしょうか…サッパリです。
    (日付その他のチェック)のその他って何…?

宜しくお願いします。
747デフォルトの名無しさん:2006/09/05(火) 18:17:35
748デフォルトの名無しさん:2006/09/05(火) 19:46:18
>>702
ぼるじょあってコテハンの意味わかってないような

ぼるじょあ#ぼるじょあ
トリップつけられるんじゃなかった?
749デフォルトの名無しさん:2006/09/05(火) 21:09:11
うんこ
750ぼるじょあ ◆H6wikgcXIU :2006/09/05(火) 21:12:06
(・3・) エェー ちがうYO
751ぼるじょあ ◆yBEncckFOU :2006/09/05(火) 21:17:19
>>748
ぼるじょあ#ぶるじょあ
だよ
しったかぶりは恥かくNE(・3・)
752デフォルトの名無しさん:2006/09/05(火) 21:33:40
>>750 なんだ、いつもいるんじゃん。
753746:2006/09/06(水) 10:02:02
>>747
迅速な回答有難う御座いました。
助かりましたー。
754ぶるま:2006/09/06(水) 17:50:26
ぶるま
755ぶるまー:2006/09/06(水) 17:59:26
ぶるまー
756デフォルトの名無しさん :2006/09/11(月) 14:50:58
丸投げします
期限は今日中
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=28298

よろしくお願いします
757デフォルトの名無しさん:2006/09/11(月) 15:24:11
758デフォルトの名無しさん :2006/09/11(月) 16:55:20
>>757
すばやい回答ありがとうございます。
759デフォルトの名無しさん:2006/09/12(火) 15:54:37
【 課題 】 マルチクライアント対応のクライアント・サーバープログラムの作成。
       クライアントから文字列を送信すると、サーバー側で送られてきた文字列を全て保持(キャッシュ)し、
       そのキャッシュしたデータを応答データとしてクライアントに返すプログラム。

       [ 実行結果例 ]
       >>java Client aaa
       aaa
       >>java Client bbb
       aaabbb
       >>java Client ccc
       aaabbbccc

【 期限 】 9/16(土)まで
【 補足 】 送受信データをオブジェクトで扱う方が好ましいが、文字列でも構わないとの事です。

よろしくお願いします。
760デフォルトの名無しさん:2006/09/12(火) 17:04:44
>>121
ちょっとね、チミ、「世の中ちょろいもんさ」とか舐めてかかってない?
761デフォルトの名無しさん:2006/09/12(火) 17:22:34
ハズレでもつかませておけば?
762デフォルトの名無しさん:2006/09/13(水) 02:13:40
>>759
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=28309
java Client 引数
で、引数を全部くっつけてサーバに送る。
763デフォルトの名無しさん:2006/09/13(水) 02:19:30
762の最後のTest.javaは不要。間違って付けてしまった。排他処理のテスト用。
764デフォルトの名無しさん:2006/09/13(水) 03:29:28
>>762
ありがとうございました。
実行したらうまく起動したので、明日にでもじっくり読んでみたいと思います。
765デフォルトの名無しさん:2006/09/15(金) 13:28:11
【 課題 】MainClient.java と CardImagesフォルダの中に入っているトランプのイメージファイルを元に、
      以下のプログラムを作成せよ。

      1) MainClient.javaをコンパイルした時、カードが2つ以上同じフレーム内に
        表示されるようにMainClient.javaのコードを書き換えなさい。
      2) 書き換えたMainClient.javaを元に52枚のトランプを26・26という2つのデックになるように
       コードを書き換えなさい。
      3) 2つのデックの片方をクリックした時に、クリックしたカードをもう片方のデックに移動するようにしなさい。
       (左側のデックをA、右側のデックをBとした場合、AをクリックしたらAの一番上にあるカードがBの上に表示される。)  
    
【 期限 】9/18
【 Ver  】1.5以上でよろしくお願いします。
【 補足 】配列を使い、個々のカード情報を収納する事。
      2つのカードデック情報を扱えるように、2つのクラス、オブジェクトを製作する事。
      MainClient.java と CardImagesです。ttp://deaikei.biz/up/up/2007.zip.html pass:java
      デフォルトのMainClient.javaでは、カードが1枚だけ表示されます。

よろしくお願いします。
766デフォルトの名無しさん:2006/09/15(金) 13:51:47
765ですが、画像にして流れをまとめてみました。

ttp://www.sunseagull.com/freespace/download.html?download1314&log/up/log/2026.jpg
767デフォルトの名無しさん:2006/09/15(金) 14:15:44
13日配布のプリントってなんじゃい
あと、パッケージ名が大文字で始まってるんだが
768デフォルトの名無しさん:2006/09/15(金) 14:46:13
>>765
どうでもいいが、圧縮する前にパッケージのことも考慮した
ディレクトリ構成にしろよな。
769デフォルトの名無しさん:2006/09/15(金) 14:46:31
>>767
13日配布のプリントを写したのが、【課題】です。
パッケージ名、たしかに大文字ですね…
770デフォルトの名無しさん:2006/09/15(金) 14:58:27
ちなみに、ttp://deaikei.biz/up/up/2007.zip.html pass:java は
おまいが作ったのか?
表示がタイトルバーと重複してるわけだが。
771デフォルトの名無しさん:2006/09/15(金) 15:45:52
>>770
元々のフォルダはクラス(ゼミ)名が書いてあったので、
解凍後、クラス(ゼミ)名を省いて再圧縮しました。
元々「クラス名 - 宿題番号」とあったzipの中に、
「PlayingCards」というフォルダがあったのですが、
それを適当な名前に変え、圧縮してうpしました。

混乱を招くようなファイルをうpしてしまい申し訳ありません。
ダウンロードしてきたzipファイルを名前だけ変えて再うpしました。
ttp://deaikei.biz/up/up/2008.zip.html
772デフォルトの名無しさん:2006/09/15(金) 15:57:33
あ〜、配列でせにゃならんかったのか。Stackでやってもた。
微妙に時間ないしめんどいからもういいや。
帰ってきてまだ終わってなかったらやろ。
773デフォルトの名無しさん:2006/09/15(金) 16:08:01
>>772
うっわ俺もだ
ああ、やる気が・・・
774デフォルトの名無しさん:2006/09/15(金) 20:32:53
結論:
 クソ教官 m9(^Д^)プギャー!!
775デフォルトの名無しさん:2006/09/16(土) 07:10:41
>>765
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=28318
自分の環境で>>766が見れないこともあって超適当
776デフォルトの名無しさん:2006/09/17(日) 05:47:48
最近、継承やインターフェイスを習った者です。
自分の課題の進度と課題の長さから(凄く長くなってしまうので)、一部だけを教えて頂きたいんですが、
もしもスレ違いでしたらスルーして下さい。
【 課題 】
コマンドラインから入力した2つの数を計算する。
スーパークラス内で変数を宣言。この変数に、引数を代入するメソッドを1つ作る。
サブクラスは、計算、表示に使う。
       
【 補足 】
分からない所は、main内からサブクラスへコマンドライン引数を持っていく時はどうしたらいいか、
(僕はsub.add(args[0], args[1])と書きました。)
受け取る側のメソッドはどう書いたらいいか(void add(String args[])と書きました。)
この2つです。自分なりに調べたんですが、どうしても分かりません。
どうしてそうかくのか、と言うことも教えて下さると嬉しいです。どなたか、よろしくお願いします。
777デフォルトの名無しさん:2006/09/17(日) 06:11:27
>>776
メソッドを呼び出す側の引数は、呼び出したいメソッドの引数の個数と型に合わせる必要がある。
もし、受け取る側のメソッドを void add(String[] args) と定義しているのなら、
呼び出す側で args が String[] args として宣言されているなら、sub.add(args) で args を渡せる。
呼び出す側が sub.add(args[0], args[1]) なら、受け取る側は、何も返さないメソッドなら、
void add(String arg1, String arg2) と定義しておく。arg1 に args[0]、arg2 に args[1] が渡る。
どちらを選択するかは仕様に従うか、仕様が無ければプログラムを書く人次第。
778デフォルトの名無しさん:2006/09/17(日) 11:43:21
【 課題 】 文字列を整数に変換
【 用語 】
【 期限 】明日
【 Ver  】特に指定無し
【 補足 】parseIntメソッドは使用しない。
779デフォルトの名無しさん:2006/09/17(日) 11:53:21
>>778
先生に怒られそうな解答としては
String s = "123";
int i = new Integer(s).intValue();
とか
String s = "123";
int i = Integer.valueOf(s).intValue();
とか
780デフォルトの名無しさん:2006/09/17(日) 12:11:47
>>778
汚くなった。
class ParseIntModule{
public static int parseInt(String str) throws Exception{
boolean isCheckDecimal=true;
char at;
int ret=0, sign=1;
for(int pow=1, i=str.length();i>0;i--, pow*=10){
at=str.charAt(i-1);
if('0'<=at && at<='9'){
if(isCheckDecimal)
ret+=pow*(int)(at-'0');
else
throw new Exception("Not integer");
}else{
switch(at){
case '-':
isCheckDecimal=false;
sign=-1;
break;
case '+':
isCheckDecimal=false;
sign=1;
break;
default:
throw new Exception("Not integer");
}
}
}
return sign*ret;
}
}
781デフォルトの名無しさん:2006/09/17(日) 12:27:05
782デフォルトの名無しさん:2006/09/17(日) 12:28:31
かぶったorz
783デフォルトの名無しさん:2006/09/17(日) 12:50:20
>778 int n = (int)Long.parseLong("123");
784デフォルトの名無しさん:2006/09/17(日) 12:58:48
>>778
final String STR = "123";
final int n = new java.text.DecimalFormat( ).parse( STR, new java.text.ParsePosition( 0 )).intValue( );
System.err.println( n );
785デフォルトの名無しさん:2006/09/17(日) 13:01:34
>>778
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=28327
>>781はintの範囲を超えたときの処理がInteger.parseIntと違ってた。
あと、例外のメッセージもparseIntに準拠した。
786776:2006/09/17(日) 19:32:25
>>777
解決しました!ありがとうございました!!
引数について指定はなかったんですが、受け取る側がString[] argsとなっている時の
引数をargsだけで渡せるか、呼び出し側のメソッドの引数にはどうやって書くかが分からなかったんです。
勉強がてらに両方作ってみましたが、やっと理解できました。本当にありがとうございます!
787デフォルトの名無しさん:2006/09/17(日) 19:48:30
>>778
String str = "123";
int i = new java.util.Scanner(str).nextInt();
System.out.println(i);

いろいろあるもんだなw
788デフォルトの名無しさん:2006/09/17(日) 19:57:50
>>778
final String STR = "42";
java.util.Random r = new java.util.Random( );
while(true){
 int n = r.nextInt( );
 if( String.valueOf( n ).equals( STR )) System.out.println( n );
}
789デフォルトの名無しさん:2006/09/18(月) 17:01:27
【 課題 】 パッケージ外からサブクラスを利用。
       スーパークラスA(パッケージmst)と、
       サブクラスB(パッケージsub)を
       クラスC(パッケージsub)からサブクラスBをインポートし、実行結果を得る。
       Aはメンバ変数ta,tbを引数に代入するメソッド使う。
       BはAのメソッドを呼び出し、代入された変数足し算として出力する。
【 期限 】明日
【 Ver  】指定無し
【 補足 】丸投げです。異なるパッケージで継承をどうやるかが分かりません。よろしくお願いします。
790デフォルトの名無しさん:2006/09/18(月) 17:19:14
>>789
本当に丸投げか?
日本語が破綻してるぞ。
791デフォルトの名無しさん:2006/09/18(月) 17:22:17
んで、スーパークラスAでパッケージ外部に知られているべき部分に
public修飾子が付いていれば何も問題は発生しないと思われるが?
792デフォルトの名無しさん:2006/09/18(月) 18:19:34
>>789
課題部分は問題を自分なりに解釈したものなのかな?
そこに書かれているだけの縛りなら、下手にprotectedやパッケージスコープにしようなんて考えずに、
>>791の言う通り、public修飾で問題は解決すると思う。

で、「異なるパッケージで継承をどうやるかが分かりません」って、
789だってアプレットくらい作ったことはあるだろう。
java.applet.Appletなりjavax.swing.JAppletなりを継承して作ったクラスを
java.appletパッケージやjavax.swingパッケージには普通入れない。
他にも、パッケージとスーパークラスを明示せずにクラスを定義すれば、
定義したクラスは無名パッケージに属していて、java.langパッケージのObjectクラスを継承している。
異なるパッケージで継承するのは789も普通にやっているはず。
793デフォルトの名無しさん:2006/09/19(火) 15:31:56
>>775
765ですが、ありがとうございました。
794デフォルトの名無しさん :2006/09/20(水) 00:29:05
例外処理なんですけど、catch文をひとつで書く記述がわかりません。
どなたかお願いします。
期限は20日中。

ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=28332
795デフォルトの名無しさん:2006/09/20(水) 00:31:22
catch(Exception e)

とか
796デフォルトの名無しさん :2006/09/20(水) 00:32:27
>>795
すばやい回答ありがとうございます。
動作確認できました。
797デフォルトの名無しさん:2006/09/20(水) 00:37:58
なんで>>795でいけるかわかってるか?

まあ、そこまでは望まないのかな・・
798794:2006/09/20(水) 02:34:35
>>797
なぜ動くか調べてみました。
例外すべてみたいな感じですよね?
ちがうのかな?
799デフォルトの名無しさん:2006/09/20(水) 09:45:35
>>798
0点
それだと多態性を理解してないと言われても仕方がない。
800デフォルトの名無しさん:2006/09/20(水) 17:22:27
【 課題 】
以下のプログラムを
2つの銀行を開設(異なるデータファイル)し、両方の順序ファイルからデータを読み出し
全口座の残額を集計し整列して表示するように改変せい。
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=28333
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=28334
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=28335
【 期限 】9/26まで
【 補足 】丸投げです。よろしくお願いします
801デフォルトの名無しさん:2006/09/22(金) 19:02:24
【 課題 】 360度全方位カメラで撮影したビットマップ画像を
       パノラマ展開画像を生成せよ。
【 用語 】
【 期限 】 9月26日
【 Ver  】 特に指定はありません
【 補足 】
802デフォルトの名無しさん:2006/09/22(金) 20:25:26
【 課題 】 課題にあわせて自由に線が引けるようにプログラムを書き換える。
【 期限 】 9月25日13時まで
【 補足 】 課題2を下の補足説明に合わせて改良してください。
よろしくお願いします。
http://www.edu.fe.takushoku-u.ac.jp/jikken2cg/
803デフォルトの名無しさん:2006/09/22(金) 20:31:06
見れんとどうしようもない
804デフォルトの名無しさん:2006/09/22(金) 20:36:07
>>801
お前はまず日本語を勉強しろ
805デフォルトの名無しさん:2006/09/23(土) 15:35:34
ここで宿題教えてくれといったK、N、Y、I、I
お前ら単位やらないから俺の講義でなくていいぞ
806デフォルトの名無しさん:2006/09/23(土) 17:18:47
>>805
拓殖大学乙
807デフォルトの名無しさん:2006/09/23(土) 18:37:08
専修じゃね?
808デフォルトの名無しさん:2006/09/23(土) 20:25:27
いや、拓殖だろ。。。
809デフォルトの名無しさん:2006/09/23(土) 23:32:34
大工大乙
810デフォルトの名無しさん:2006/09/24(日) 07:47:17
ものつくり大乙
811765:2006/09/24(日) 19:30:03
>>775
775さん、先日はありがとうございました。
提出した後に、自分でも775さんのソースを読んでどのように動いているのか
考えてみたのですが私の現在のスキルでは掴めませんでした。
課題の2と3の部分がどのように動いて、配列で26枚ずつ収納、クリックして交互に移動しているのか
説明して頂けないでしょうか?お手数ですがよろしくお願いします。
812デフォルトの名無しさん:2006/09/24(日) 22:13:23
>>811
必要に応じて機能を加えていったいい加減に書いたプログラムだからね
設計のせの字もやらずに作ったし説明といってもなかなか面倒

MainClientは課題1で複数カードの表示が可能となっている。

課題2は、MainClientに2つのカードデックのトップの2枚のカードを表示させる目標。
そのために、カードデックを表すCardDeckと1枚1枚のカードを表すCardの2つのクラスを作成。
Cardは各カードのイメージファイルの名前を持っている。
CardDeckはコンストラクタでCardの配列をもらって、
それを自分に属するカードの集合として自分のフィールドに記録する。
MainClientのmainでcd1とcd2に26個の要素を持つ配列cardsを与えてCardDeckのインスタンスを生成する所が、
2つのカードデックに26枚づつの収納することに相当させている。
そして、各カードデックのトップのイメージファイル名cd?.top().getFileName()を与えてMainClientをnewしている。
CardDeckのCard収納数の最大値が52固定になっているのはあまりよくないね。

課題3は、MainClientに2枚のカードが表示されている時用の、表示カードを変更するメソッドchangeTwoDeckImageを追加し、
さらに、mainの最後にカードがクリックされた時に呼び出されるリスナーTwoDeckListenerを追加。
TwoDeckListenerはmouseClickedでクリックされた場所を見て、どちらのデックからどちらのデックにカードを移動するかを決めて、
CardDeckのmoveTopToメソッドでカードを移動させる。
さらに、MainClientのchangeTwoDeckImageを呼び出して表示を更新させる。

クラス間をあっち行ったりこっち行ったりで、クラスの関係がかなり密結合になっているので、よくない見本
本当はもっと根本から構成を見直したほうがいいと思う
時間がないので適当な説明ですまん
暇になって気が向いたらjavadocコメント付けたソースでもアップするかね
813おこちゃま:2006/09/25(月) 01:20:38
画面から0または1または2を入力して
0だったら 0さん、18歳、好きな食べ物はお寿司、ケーキ
1だったら 1さん、28歳、好きな食べ物はチコリ、カレー
2だったら 2さん、38歳、好きな食べ物は○○
と表示させるにはどうすればいいのでしょうか?
814デフォルトの名無しさん:2006/09/25(月) 02:12:12
>>811
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=28342
javadocコメントを付けた課題3用のソース
課題2はこれのサブセットみたいなものだからいいでしょ
てきとうにコメントしたので変なところあるかも

////////////////////////////////////////の後のCardDeckはいくらでもデックに積める版で、
上の52枚制限のCardDeckと置き換えて使える。どちらかを削除しないとコンパイルが通らない。
どっちのCardDeckでも、この課題では関係ないけどね。

MainClientの表示がややこしいことになっているのは、
カードのサイズがばらばらでも構わないようにしているためと、
課題の元のプログラムがJFrameのContentPaneにでなく直接描画しているため。
815デフォルトの名無しさん:2006/09/25(月) 03:52:22
>>800どなたかできませんでしょうか…
816デフォルトの名無しさん:2006/09/25(月) 07:11:28
>>815
丸投げっつっても、途中過程を省略してるからよくわからん。
そのソースってポンと出されたものじゃなくて、順序を追って
作られてきたものだろう? その全体像を把握するところまで
こちらにやらそうとしているのだから、あまりにも面倒くさすぎる。
やってほしけりゃ、それぞれのソースがどういう過程を経て出てきた、
一体何をするプログラムなのかまで付記しなきゃ。
817デフォルトの名無しさん:2006/09/25(月) 08:59:32
>>774
こういうこと言う奴がいると、教える気なくすんだよね
818デフォルトの名無しさん:2006/09/25(月) 11:34:04
【 課題 】次のプログラムで描かれる図形を描くこと。(30度ごとに白線を入れる).始点と終点を指示すればその通りに描けるようにすること.
double tt,xx,yy;
for(int t=0; t<360; t+=30){
tt=Math.PI/180.0*(double)t;
xx=200.0*Math.cos(tt);
yy=200.0*Math.sin(tt);
line(250, 250, 250+(int)xx, 250+(int)yy);
}
【 用語 】ない.
【 期限 】9月27日13時まで
【 補足 】サンプルプログラムをそのまま載せます.
819デフォルトの名無しさん:2006/09/25(月) 11:38:28
public class kadai2 extends Applet {
//画像バッファ(クラス内で共通に使うのでクラスメンバとして宣言
private int[][][] Img = new int[500][500][3];
public void paint(Graphics g){ 
gray();
//課題の図形
double tt,xx,yy;
for(int t=0; t<360; t+=30){
tt=Math.PI/180.0*(double)t;
xx=200.0*Math.cos(tt);
yy=200.0*Math.sin(tt);
line(250, 250, 250+(int)xx, 250+(int)yy);
}
for(int x=0; x<500; x++){
for(int y=0; y<500; y++){ g.setColor(newColor(Img[x][500-y-1][0],Img[x][500-y-1][1],Img[x][500-y-1][2]));
g.fillRect(x,y,1,1);
}}}
private void gray(){

}
//完璧なlineメソッド
        private void line(int x1, int y1, int x2, int y2){
double d = ((double)y2-y1)/((double)x2-x1);
double yy=y1;
for(int x=x1;x<=x2; x++){
int y=(int)yy; //描画するときはintでないとダメ。
Img[x][y][0]=Img[x][y][1]=Img[x][y][2]=255;
yy=yy+d; //yの値は実数のままで増やしていかないとダメ。
}}    }
820774:2006/09/25(月) 12:08:57
>>814
もっと広く嫁と言いたい。
なぜ回答する側が気分を害するのかが理解できん。
821デフォルトの名無しさん:2006/09/25(月) 12:33:37
>>819
それはサンプルそのままじゃなくて、単なるやりかけじゃないのか?
822819:2006/09/25(月) 12:41:54
>>821
先生からもらったプログラムで,これを修正改良するように言われた.
823814:2006/09/25(月) 12:49:23
>>820
別に気分を害していないけど?
824デフォルトの名無しさん:2006/09/25(月) 12:53:54
>>822
改良っつーか、普通に間違ってるだけだな。
lineメソッド内の for(int x=x1;x<=x2; x++) って部分で、xが正の
方向にしか増加しないようにしちゃってるから、右半分しか描写されていない。

825819:2006/09/25(月) 12:58:47
>>824
そういった間違いを直してほしい.
826デフォルトの名無しさん:2006/09/25(月) 12:59:08

【課題】
学籍番号 ○○○○
名前 ○○○○
と表示させること
【期限】
明日
【補足】
教科書を見ながら自分で色々やってみたのですが、エラーが出てどうしてもうまくいきません
画像(横)をうpしますので間違いを指摘して下さいお願いします
http://p.pita.st/?acwokz9j
塗りつぶし部分は自分の学籍番号と名前です
827デフォルトの名無しさん:2006/09/25(月) 13:01:50
首が痛くなったじゃないか
828デフォルトの名無しさん:2006/09/25(月) 13:03:35
MyObjectMain(String number,String name); ←セミコロンイラネ
{

}
829デフォルトの名無しさん:2006/09/25(月) 13:07:50
>>825
間違いが判明したんだから自分でやれ。
と言いながら回答を晒す俺。

private void line(int x1, int y1, int x2, int y2){
int length = (int)Math.sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1));
double rx = x1;
double ry = y1;
double dx = (x2-x1)/(double)length;
double dy = (y2-y1)/(double)length;
for(int i=0; i<length; i++){
int x = (int)rx;
int y = (int)ry;
Img[x][y][0]=Img[x][y][1]=Img[x][y][2]=255;
rx = rx + dx;
ry = ry + dy;
}
}
830デフォルトの名無しさん:2006/09/25(月) 13:10:20
>>826
とりあえず、手当たり次第だぶるくぉーてーしょんを消してみると
いいと思うぉ、思うぉ
831デフォルトの名無しさん:2006/09/25(月) 14:11:06
>>816
ソースは教授が作ったプログラムですが、
CreateSequentialFile(http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=28335
を起動し、ナンバー・名前・金額(+−)を複数人分入力しEnterでファイルに入力すると、
CreditInquiry(http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=28334
で起動したアプリケーションにプラス、マイナス、ゼロそれぞれのメンバーが表示されるというものです。

課題では異なるCreateSequentialFileを二つ用意し、別々に書き込んだファイルを用意して、
それら二つのファイルからCreditInquiryによって二つの口座のデータを同時に表示するようにするものです
832デフォルトの名無しさん:2006/09/25(月) 14:50:31
>>828
それだけでいいんですか‥?
今ちょっと手元にPCがないのでわかりませんが‥
>>830
はい最初は付けていませんでしたが、外してたら何故かエラーの数が増えるんですよね‥
色々試した結果、付けたらエラーが減ったので‥
833デフォルトの名無しさん:2006/09/25(月) 15:08:58
>>832
お前は最初からやり直した方が良いな
834デフォルトの名無しさん:2006/09/25(月) 15:31:19
>>832
学籍番号 = number ;
名前 = name ;
835デフォルトの名無しさん:2006/09/25(月) 16:39:57
>>834
やはりそれ違いますか?
でも昨日numberのとこに自分の学籍番号を入れたりnameのとこに自分の名前を入れたり、色々試しましたが結局コンパイルしてもエラーが出るんです…
もう嫌になりました‥
お手数ですが間違ってる箇所を全て教えてもらえないでしょうか‥
836デフォルトの名無しさん:2006/09/25(月) 17:15:07
>>835
変数とリテラルの違いも理解せずに漢字なんか混ぜてるから
訳わかんなくなるんだよ。
ここで誤りを指摘されただけじゃ、お前自身何も進歩せん。
まっとうな入門書からやり直せ。
837デフォルトの名無しさん:2006/09/25(月) 18:36:45
ちょ‥提出明日なんです
助けて下さい
しかも先週初めて習ったばかりなんです
それなのにいきなりこんな難しい課題は酷です‥
教科書も読んで図書館で参考書も借りたのにわからなくて‥
あと変数とかリテラルなんて聞いたこともありません‥
なんか勝手にやれって感じで
838デフォルトの名無しさん:2006/09/25(月) 18:47:44
これが難しいと思うのなら単位落としたほうが良いよ
839デフォルトの名無しさん:2006/09/25(月) 18:51:09
public class MyObjectMain{
String name;
String number;

public MyObjectMain(String name, String number){
this.name = name;
this.number = number;
}

public void printName(){
System.out.println(number);
System.out.println(name);
}
}

mainメソッド無いけどいいのか
クラス名にobjectってつけるのどうかと
次からはぐぐってから質問してくれ
840デフォルトの名無しさん:2006/09/25(月) 19:11:47
PC板全般の回答者って総じて偉そうな態度だよね
841デフォルトの名無しさん:2006/09/25(月) 19:15:16
他の板よりもレベルの差が大きすぎるからな
小学生よりアフォがいっぱい
842デフォルトの名無しさん:2006/09/25(月) 19:20:07
>>840
そうそう
もっと質問者様にへりくだって丁寧に回答してもらわないとね
たかが回答者のくせに
つまらない質問もらっただけで悦んで腰を振りやがってるぜハァハァ
843デフォルトの名無しさん:2006/09/25(月) 19:22:37
回答者は神
質問者は幼稚園児以下の馬鹿だからな
844デフォルトの名無しさん:2006/09/25(月) 19:25:33
>>842
カスは糞して寝てろ^^
845デフォルトの名無しさん:2006/09/25(月) 19:30:17
プログラムやっても、その先にある修羅場を知らんからだろうな。
846デフォルトの名無しさん:2006/09/25(月) 19:40:21
プログラムやる
プログラムやる
プログラムやる
プログラムやる
プログラムやる
プログラムやる
プログラムやる
プログラムやる
847デフォルトの名無しさん:2006/09/25(月) 19:45:35
>>839
ありがとうございます
この通り打てば出来るのでしょうか‥?
帰ったらしてみます
‥てエラー時にもmainメソッドがありませんって出る時があるんですけど、これはどういうことなんですか!?
昨日ホントに意味わからなくて悩んでたんですけど
public void以降がmainメソッドというのじゃないんですか?
848デフォルトの名無しさん:2006/09/25(月) 19:49:13
だから教科書を穴が開くまで読め
>>837の話は嘘なんだろ
教科書読んでも分らないなんてありえない
849デフォルトの名無しさん:2006/09/25(月) 19:58:03
習い始めて1週間でコンストラクタまで行くわけねーだろ。
サボリ過ぎなお前は提出できなくも仕方ねーよ。
850デフォルトの名無しさん:2006/09/25(月) 20:21:17
プッ
おまえらまだこんな低脳な言語使ってんの????


かわいそうですね^^;;;;;;;;;;;;;;;;;;;;;
851デフォルトの名無しさん:2006/09/25(月) 20:28:42
>>850

      ,r::::::::::::::::::::'-、
   ,,r'::::::::::::::::::::::::::::::::::ヽ
  .l::::::::::::::::::::;:-‐''" `-、::ヽ、
  . l::::::::! '"        i::::::ヽ
   ヽ::::i   _,.. !_,.._- :..l::::::::::!
    l:::l ,ィt:t::: ':::rtェ::;:.. ヽ::::;!
    !ヾ'´':::´;' ::.`ヾ ヾ  Y ::!
  .  i :!  ;` ー'`ヽ    l ノi
     ヽ!  :, ---.、 :   /! '
      ヽ :'  −  ::.  ;'.!
       ヽ      ,:' l,r 'ヽ
       rヽ  ̄  , -'r'  r'ヽ
     i'  lヽ  r'7,r'´  '  ' ` ー
     l  l! i. /,,r'    ´

     ツマンネ[Y.tzumannet]
     (1899〜1956 ベルギー)
852デフォルトの名無しさん:2006/09/25(月) 20:30:40
>>850-851
          トv'Z -‐z__ノ!_
        . ,.'ニ.V _,-─ ,==、、く`
      ,. /ァ'┴' ゞ !,.-`ニヽ、トl、:. ,
    rュ. .:{_ '' ヾ 、_カ-‐'¨ ̄フヽ`'|:::  ,.、
    、  ,ェr<`iァ'^´ 〃 lヽ   ミ ∧!::: .´
      ゞ'-''ス. ゛=、、、、 " _/ノf::::  〜
    r_;.   ::Y ''/_, ゝァナ=ニ、 メノ::: ` ;.
       _  ::\,!ィ'TV =ー-、_メ::::  r、
       ゙ ::,ィl l. レト,ミ _/L `ヽ:::  ._´
       ;.   :ゞLレ':: \ `ー’,ィァト.::  ,.
       〜 ,.  ,:ュ. `ヽニj/l |/::
          _  .. ,、 :l !レ'::: ,. "
              `’ `´   〜

ソリャ・ムチャダーワ 【Soryhiwa Mutyadhawa】
(1984〜? インド)
853デフォルトの名無しさん:2006/09/25(月) 20:31:14
>>850-853
いつからここは自演スレになりましたか?

カエレ!!!!
854デフォルトの名無しさん:2006/09/25(月) 20:41:42
>>847
できない

hello worldやらなかったの?
855デフォルトの名無しさん:2006/09/25(月) 20:56:59
いや全然習ってないです‥
授業もまだ2時間しか受けてないんです
>>854
できないんですかw
ならどうすればできるのでしょうか…?
856デフォルトの名無しさん:2006/09/25(月) 20:58:57
こいつ荒らしだな放置で
857デフォルトの名無しさん:2006/09/25(月) 21:07:51
>>855
できるWindowsME
よむといいですよ!
858デフォルトの名無しさん:2006/09/25(月) 21:28:35
>>855
ファイル名は MyObjectMain.java で保存すること
public class MyObjectMain {

public static void main(String[] args) {
MyObjectMain obj = new MyObjectMain("名前","学籍番号");
obj.printName();
}

String name;
String number;
public MyObjectMain(String name, String number) {
this.name = name;
this.number = number;
}
public void printName() {
System.out.println(number);
System.out.println(name);
}
}
859ニュース速報+:2006/09/25(月) 21:53:18
2ちゃんねるで、人気の高いニュースをすぐ見よう。
「祭」に、のりおくれるな。

WWWブラウザ で以下のサイトを見てください。
「2ちゃんねるニュース速報+ナビ」
http://newsnavi.2ch.net/

ここは、ニュース速報+系6板を自動解析し、人気の高いニュース及び最新のニュースを
リアルタイムで計算・抽出して提供しています。
「お気に入り」や「ブックマーク」に登録しましょう。
過去の「祭」なども参照できます。

時間あたりの投稿数は「時速 res/h」、板全体に占める投稿数の比率を「瞬間投稿率 %」
これらの値が高いと「祭」マークが表示されます。
860漏れも習いたてだが…:2006/09/26(火) 00:29:04
>>855
これでも表示出きると思われ。

public class MyObjectMain {
public static void main(String[] args) {

name = "ここに名前を入力する。"
number = "ここに学籍番号を入力する。"

System.out.println("名前は" + name);
System.out.println("学籍番号は" + number);
}
}
861デフォルトの名無しさん:2006/09/26(火) 01:00:11
うちの大学は一年かけてやさしいJavaを一冊やるのですが
これって力つきませんよね?
ほかの大学はどんなことやってるんだろう
862デフォルトの名無しさん:2006/09/26(火) 01:58:45
力を付けたいなら、授業ごときに期待すんなww
863デフォルトの名無しさん:2006/09/26(火) 06:44:49
専修だからじゃね
864デフォルトの名無しさん:2006/09/26(火) 10:07:01
>>861
1年で終わるなら、ほぼ意味無し。
4年スパンでカリキュラムが組まれてるなら、お前の努力次第。
865デフォルトの名無しさん:2006/09/26(火) 10:17:47
>>858>>860
遅くなりましたがありがとうございます!
858はうまくコンパイルできました
ただ学籍番号=○○○○、名前=○○○○という形で表示するよう言われてるのですが…
番号と名前だけ表示されるのはちょっと…
860はname=〜 の行で';'がないってエラーが出ます
;を付けてもエラーが出てうまく出来ませんでした
866デフォルトの名無しさん:2006/09/26(火) 10:19:13
【 課題 】教科書や、WWW情報などを参考にして、 「Java言語」と「JavaScript」の特徴比較について調べ、A4サイズの紙1枚に記述するかあるいは印刷し、次回授業開始時に教卓に提出しなさい。
特に、両者に差があるポイントを明確に論じてください。

【 期限 】木曜日

お願いします。
867デフォルトの名無しさん:2006/09/26(火) 10:39:22
よく分かってないなら変数を使わなければいいじゃない

System.out.println("学籍番号=○○○○");
System.out.println("名前=○○○○");
868デフォルトの名無しさん:2006/09/26(火) 10:55:33
>>867
ついにできました。ネ申
これで昼からの授業に間に合います

皆さん本当にありがとうございました
869デフォルトの名無しさん:2006/09/26(火) 12:09:59
なんというか、開いた口が塞がらないとはこのことだな。
出来ないにも程度ってもんがあるだろ。w
アホすぎww
870デフォルトの名無しさん:2006/09/26(火) 14:42:38
>>869
お前こそ人を見下しすぎだろう。
最悪な先輩の典型例だな。
871デフォルトの名無しさん:2006/09/26(火) 14:43:27
>>866
JSが入っているのでスレ違い。
以上。
872デフォルトの名無しさん:2006/09/26(火) 15:37:50
>>866
Java言語の特徴はWeb掲示板2ちゃんねるのプログラム技術板で課題を解いてもらえることである。
JavaScriptの特徴は同掲示板のweb制作管理板で課題を解いてもらえることである。
この特徴を把握していないと板違いと指摘され相手にしてもらえないので注意する必要がある。
以上。

レポートにはこう書けば単位は間違いなく取れ
873800:2006/09/26(火) 19:36:41
>>831の通りなのですがどなたかできないでしょうか・・・
874デフォルトの名無しさん:2006/09/26(火) 20:43:54
>>800
6日も残っていながら他力本願で何もしなかった自分を呪えww
875800:2006/09/26(火) 20:55:51
時間かけて解けるならここで質問してませんよ
876デフォルトの名無しさん:2006/09/26(火) 21:03:03
友達の一人や二人は居るだろ
877800:2006/09/26(火) 21:05:03
いるならここで質問してませんよ
878デフォルトの名無しさん:2006/09/26(火) 21:27:12
>>800
m9(^Д^)プギャー!!
879デフォルトの名無しさん:2006/09/26(火) 21:56:39
>>800
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=28335
これの
public static void main(String[] args){
new CreateSequentialFile();



public static void main(String[] args){
new CreateSequentialFile();
new CreateSequentialFile2();
にすればいい

つーかお前らこんな程度の問題も解けないのに煽ってんの?バカじゃね?
880デフォルトの名無しさん:2006/09/26(火) 22:16:29
課題:

public class OO1no5 {

static double r;
static double a;

public static void main(String[] args) {
r=2.0;
gosub();
System.out.println("Radius : "+r+", Area : "+a);

}
public static void gosub(){
a=3.14159265*r*r;
}

}

ちなみに上のプログラムは、半径rをいわゆるグローバル変数(Javaにはないが)
として与えて、面積を計算する、サブルーチン化を図ったプログラムを作成せよ。
という問題でした。これを簡潔に解説しなければならないのですが、
何を書けばいいのかわかりません。上に何をするプログラムかは書いてあるのですが、
具体的に理解できないので、どなたかご教授願います。
881デフォルトの名無しさん:2006/09/26(火) 22:16:47
>>879
相手にしなさんな
882デフォルトの名無しさん:2006/09/26(火) 22:17:25
883デフォルトの名無しさん:2006/09/26(火) 22:27:12
>>882
テンプレでしょうか?
はじめて来たのでよくわからなく、申し訳ないです。
【 授業 】オブジェクト指向
【 課題 】下記のプログラムについて解説せよ
【 期限 】本日24時までに
【 補足 】200字程度で解説をする予定です、初心者のクラスで最初の課題です

public class OO1no5 {

static double r;
static double a;

public static void main(String[] args) {
r=2.0;
gosub();
System.out.println("Radius : "+r+", Area : "+a);

}
public static void gosub(){
a=3.14159265*r*r;
}

}

ちなみに上のプログラムは、半径rをいわゆるグローバル変数(Javaにはないが)
として与えて、面積を計算する、サブルーチン化を図ったプログラムを作成せよ。
という問題でした。

これを簡潔に解説しなければならないのですが、
何を書けばいいのかわかりません。上に何をするプログラムかは書いてあるのですが、
具体的に理解できないので、どなたかご教授願います。
884デフォルトの名無しさん:2006/09/26(火) 22:58:32
その程度分からないやつがここに来るな
885デフォルトの名無しさん:2006/09/26(火) 23:25:59
>>884
わりぃ、自己解決した
そう怒るなよ、ふられるぞ
886デフォルトの名無しさん:2006/09/27(水) 07:22:15
>>879
m9(^Д^)プギャー!!
887デフォルトの名無しさん:2006/09/27(水) 07:24:42
>>885
おいおい、そいつはふってくれる相手がいないのに
なんて可哀想なことを言うんだwww
888デフォルトの名無しさん:2006/09/27(水) 07:25:12
【課題】オウム返しサーバを作る
【期限】10/6(金)
例で

サーバ 192.168.5.1 クライアント 192.168.2.3

$java_server  $java_client_192.168.5.1
Someone_connected Server_said: Hello_I_am_192.168.5.1
from_192.168.2.3  Please_Type_Something
192.168.2.3: hogege hogege
192.168.2.3: Uho Server_Said: hogege
Uho
"."で接続終了

このような感じになるようにと。
よろしくお願いします。
889888:2006/09/27(水) 07:28:52
ずれまくりだったのでサーバ側とクライアント側分けて書き直しました。

(例)
サーバ 192.168.5.1 
$java server  
Someone connected
from 192.168.2.3  
192.168.2.3: hogege
192.168.2.3: Uho

クライアント 192.168.2.3
$java client 192.168.5.1
Server said: Hello I am 192.168.5.1
Please Type Something
hogege
Server Said: hogege
Uho
Server Said: Uho

"."で接続終了
890765:2006/09/27(水) 14:59:28
>>814
775さん、説明ありがとうございました。

今回、課題を完成させた人が少なく先生が基本となるサンプルクラスを作ったので、
それを書き直して再提出するのが追加課題となってしまいました…。
775さんの組んでくれたコードも、動くのはよいが見にくいのでやり直しと言われてしまいました。
前回の課題を自分で動くようにしたわけではないので、申し訳ないのですがまた丸投げでよろしくお願いします。

【 課題 】基本的なコンセプトは前回の課題(>>765)と同じ。
zip内にある「MainClass」「CardCollection」「PlayingCard」クラスのコードを書き直して、
前回の課題1〜3のように処理されるようにしなさい。
今回はカードがクリックされるたびに、そのカードの名前をSystem.out.printlnを使用しプロンプト画面に出力せよ。
例:ハートのエースをクリックした場合、プロンプト画面に「ace of heart」又は「ハートのエース」と表示される。
【 期限 】10/2
【 Ver  】1.5以上
【 補足 】前回、paintメソッドを直に呼び出していた者が多かったので注意する事。
      repaintメソッドをpaint()メソッドの中で使わない事。
      repaintメソッドの流れとしては、画像クリック→画像変更→repaint→違う画像表示
      MouseListenerを使用する事。
      MouseListenerの詳細:
      ttp://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/awt/event/MouseListener.html

      配布されたzipです。ttp://deaikei.biz/up/up/2203.zip.html Pass:java

よろしくお願いします。
891デフォルトの名無しさん:2006/09/27(水) 15:09:54
>>890
悪いが、お前の大学?ずいぶん低いレベルだろ。
そうでないなら、その教官だけど、かなり指導力ない奴だろうな。
その授業を落とした方がいいぞ。
892デフォルトの名無しさん:2006/09/27(水) 15:29:14
>プロンプト画面に「ace of heart」又は「ハートのエース」と表示される。

関係ないが、英語の表現がおかしくないか?
893デフォルトの名無しさん:2006/09/27(水) 15:36:05
the ace of heartsが正しいかと。でも略してるだけと思われ。
894デフォルトの名無しさん:2006/09/27(水) 15:40:49
ace of heartとみて、マライアのhero思い出したからさ。
>>893として、
of heart
of hearts
全然違うと思うけど。この程度しかない先生じゃ何も得られないだろう。
895デフォルトの名無しさん:2006/09/27(水) 17:14:57
すいません。
宿題でも何でもないんですが、339さんが作ったブラックジャック
の作り方がわかりません。
というか自分も作れないと思うのですが、
どうしてこういうプログラムになるのでしょうか?
誰か教えてください。
よろしくです。
解説してくれるとうれしいです。
ROMって勉強していたんですが、ここだけがわかりません
896デフォルトの名無しさん:2006/09/27(水) 17:39:24
>>895
きっとメモ帳かなにか、テキストエディタっぽいのでファイルにコーディングして
コーディングが終わってればコンパイルして
コンパイルが終わってればvmに掛けて実行して
終わり
897デフォルトの名無しさん:2006/09/27(水) 18:03:31
どこの大学だよお前らwwwwwレベル低すぎwwwwwwwwwwww
898デフォルトの名無しさん:2006/09/27(水) 18:06:13
自分で勉強しない大学生ってのはこんなもんかと
レベル低いのには激しく同意だが
899デフォルトの名無しさん:2006/09/27(水) 18:09:26
こんなスレもういらねーだろ
質問者が糞すぎ
900デフォルトの名無しさん:2006/09/27(水) 18:16:32
質問者もそうだが
一番の問題は
役に立たない問題を作る
出題者や教官じゃないか?
901デフォルトの名無しさん:2006/09/27(水) 18:17:38
つまらん問題しか作れないというのは
ゴミの再生産とおなじだな。
902デフォルトの名無しさん:2006/09/27(水) 18:19:33
お前らはそんな役に立たない問題は一切やってこなかったのか?
903デフォルトの名無しさん:2006/09/27(水) 18:21:08
役に立つか立たないかの問題じゃねーんだよ
お前は黙ってろ
904デフォルトの名無しさん:2006/09/27(水) 18:26:44
役に立つ立たないは問題が作れる奴が言える議題だな
905デフォルトの名無しさん:2006/09/27(水) 18:28:27
役に立たないような問題すら解けない奴が何偉そうにしてんだろ
906デフォルトの名無しさん:2006/09/27(水) 18:36:05
問題を作る奴の能力が、作る問題に現れるんじゃないかねぇ
役に立つ問題(良問)を知らないから、役に立たない問題(愚問)を作ってしまう。

低学歴が集まるところでゴミになっていて、それこそゴミの再生産なんだろうな。
その程度の指導者じゃ、これから飯も食ってけないけどな・・
907895です。:2006/09/27(水) 18:55:05
処理の仕方とかどういう考え方をすればいいのかと
教えてください。
お願いします。
908デフォルトの名無しさん:2006/09/27(水) 18:56:34
プログラムより実際のロタンプでブラックジャックでもやれば?
909デフォルトの名無しさん:2006/09/27(水) 19:03:56
910デフォルトの名無しさん:2006/09/27(水) 19:14:12
>907
ざっくり >339 のソース読んだけど、みたまんまじゃね?
何のどこがわかんねーの?
質問に具体性がまったくないから、反応しようがねーよ?

個人的にはこのサイズに良く収めたなぁって気がする。
俺が書くとたぶん、手札で構造クラス起こして、
ポイント計算とかそこに突っ込みそうだし、
無駄にOOPしすぎて規模がでかくなるんだよな…
コンストラクタに全部突っ込んでるのは、作法的にはアレだけど、
このスレなら問題ないだろうし。w
911895です。:2006/09/27(水) 19:18:37
序盤の4,4,4,4はなにを表しているのかわからん
912デフォルトの名無しさん:2006/09/27(水) 19:19:37
ここでは動けばいいと思って、面倒なんでコンストラクタに全部詰め込むことにしてる
913デフォルトの名無しさん:2006/09/27(水) 19:22:10
>>911
配ってないカードの数字ごとの枚数だろ
914デフォルトの名無しさん:2006/09/27(水) 19:24:49
序盤の23行目までがわからん。
配っていないカードの枚数?
915デフォルトの名無しさん:2006/09/27(水) 19:32:02
態度が気に入らん
馬鹿のくせに態度だけでかい
916デフォルトの名無しさん:2006/09/27(水) 19:41:54
このスレに居て何だが
学生時代にこんなスレ見てる奴ってダメだろうなって思う
917デフォルトの名無しさん:2006/09/27(水) 19:42:56
別に全員がプログラマになるわけじゃないだろ
授業で仕方なくJavaをやらなきゃならない奴だっている
918デフォルトの名無しさん:2006/09/27(水) 19:54:07
いやそういう事でなくて
別にJavaに限ったことではなく宿題スレで答えを聞くという行為を言ってる
919デフォルトの名無しさん:2006/09/27(水) 19:56:18
プログラミングに関しては勉強したからどうこうっつうより
センスのほうが問題だけどな。芸術とかと同じで
まぁできない奴はとっとと諦めろってこった
920デフォルトの名無しさん:2006/09/27(水) 20:12:52
>>919
センスが出るのは仕様設計やコーディング設計
文法だけならセンス光らすな
921910:2006/09/27(水) 21:35:51
>>914
Blackjack.javaについて言えば、
内部クラスとして、カードの山を管理するために、class Cardが定義されている。
int[] remainは、位置がカードの番号、数値は残り枚数。A〜10までだから要素数も10。
getCard()を呼ぶごとに、全体の残り枚数チェックや減算をし、
ランダムでどれかのカード数値を返している。
calcPoint()は、Aが1or11であることを考慮した、得点計算ルーチン。
922895です。:2006/09/27(水) 21:48:07
private int[] remain = {4, 4, 4, 4, 4, 4, 4, 4, 4, 4};
の1行がわかりません。
位置がカードの番号、数値は残り枚数。
A〜10までだから要素数も10。
ってどういう意味?
でもすこしずつわかった。
だからint num=40になるところまでは
もう少しくわしく。
今一人でブラックジャックやってもわからない。
絵札は入っていないんだ。
923デフォルトの名無しさん:2006/09/27(水) 21:51:12
>922
>399のレスの元質問まで見れw
924デフォルトの名無しさん:2006/09/27(水) 22:13:27
【 課題 】以下はオブジェクトの入出力ストリームの例題である。これを参考に、
A)複素数のシリアルオブジェクトを定義し、値を設定/読み出すメソッド、
加算演算、掛算、および絶対値を求めるメソッドを定義せよ
B)10個の異なる複素数オブジェクトを生成し、出力ファイルに書き出すプログラムを作成。
C)上記ファイルを読み出し所定のデータが戻っていることを確認するためそれぞれの値を表示し、
さらに1つ前の値(初回は(1,1)とする)と掛算して表示、
また全ての値の加算結果と絶対値の加算結果も表示するプログラムを作成せよ。
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=28353
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=28354
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=28355
【 期限 】明日10:00まで
お願いします。
925デフォルトの名無しさん:2006/09/27(水) 23:22:57
926デフォルトの名無しさん:2006/09/28(木) 01:07:05
927895です。:2006/09/28(木) 01:33:31
private int[] remain = {4, 4, 4, 4, 4, 4, 4, 4, 4, 4};
がわからん。後の部分は理解できました?
なぜ4なの?
で、これ2つあるけど、ひとつでできるんだよね。
あれ?わかんないよ.....
どうしよう。

928デフォルトの名無しさん:2006/09/28(木) 01:38:50
>>927
本当に分からないのなら…もっと苦しめ
分からなくても、考えたことが意外と身を助けるぞ

ほら…なんで名前が"remain"なのか?とか、要素が10なのか?とか、なんでprivateなのか(そして、所属するクラスはどこなのか)?
なんて、重大なヒントに見えてきたじゃないか


どうでもいいかもしれんが
929デフォルトの名無しさん:2006/09/28(木) 01:42:53
>>926
ありがとうございます!
930895です。:2006/09/28(木) 01:49:43
なぜremainなの?
要素数10とうのは1から10までということで、
10なんだとおもうんだけど、
なんで4なんだ?
931デフォルトの名無しさん:2006/09/28(木) 01:50:39
♠A ♣A ♥A ♦A
♠2 ♣2 ♥2 ♦2
♠3 ♣3 ♥3 ♦3
♠4 ♣4 ♥4 ♦4
♠5 ♣5 ♥5 ♦5
♠6 ♣6 ♥6 ♦6
♠7 ♣7 ♥7 ♦7
♠8 ♣8 ♥8 ♦8
♠9 ♣9 ♥9 ♦9
♠10 ♣10 ♥10 ♦10
932デフォルトの名無しさん:2006/09/28(木) 02:06:54
あらかじめ40個のオブジェクトを用意してシャッフルする方が
単純明快で良いと思うけどな。
933デフォルトの名無しさん:2006/09/28(木) 02:08:06
【 課題 】以下のプログラムの
// else if ( e.getSource() == reverseBtn){
// add source code for reverseBtn event handling
//}
の部分を完成させ、reverseボタンが機能するようにせよ。
reverseは、格納されたデータを後ろから順に並び替えるものとする
(1,2,3,4,5と順にaddされたとすると、displayしたときに5,4,3,2,1となるように)
【 期限 】9/28 22:00まで
【 補足 】丸投げです。よろしくお願いします
934デフォルトの名無しさん:2006/09/28(木) 02:11:41
>>933
プログラムは単純明快に完成しているように見えるが?
935933:2006/09/28(木) 02:14:10
>>934
else if ( e.getSource() == reverseBtn){  ここはこのままでいいんですが、
// add source code for reverseBtn event handlingの部分に順序を逆にするプログラムを書かないといけないんです
ボタンまではできたのですが、ここだけ解けなくて・・・
936デフォルトの名無しさん:2006/09/28(木) 03:21:57
丸投げと言いつつ、丸投げになってない件
937765:2006/09/28(木) 04:31:27
>>890
もともと、文系の学部なのですが必修の情報系クラスでJavaをやっています。
教えている先生も本当は数学の教授なので専門外なのですが、
落としてしまうと、進級出来なくなるので受けています。

たしかに、大学のレベルは高くありません…。
938デフォルトの名無しさん:2006/09/28(木) 12:45:20
微妙な話だな。
その数学屋さんもコンピュータグラフィクスなら乗り気なんだろうがな。
939デフォルトの名無しさん:2006/09/28(木) 12:55:53
【 課題 】4面体を表示して,正しく表示されることを確かめよ。下のプログラムを完成させてください.
【 用語 】ない
【 期限 】9月30日
public void paint(Graphics g){
gray();
Triangle t[] = new Triangle[4];
Point3D p[] = new Point3D[3];
//奥の平面p[0] = new Point3D(100, 100, -100);
p[1] = new Point3D(200, 400, -100);//上の頂点
p[2] = new Point3D(400, 100, -100);
t[0] = new Triangle(p[0], p[1], p[2]);
//左側面p[0] = new Point3D(100, 100, -100);
p[1] = new Point3D(300, 50, -50);//手前の点
p[2] = new Point3D(200, 400, -100);
t[1] = new Triangle(p[0], p[1], p[2]);
//右側面p[0] = new Point3D(300, 50, -50);
p[1] = new Point3D(400, 100, -100);
p[2] = new Point3D(200, 400, -100);
t[2] = new Triangle(p[0], p[1], p[2]);
//底面p[0] = new Point3D(300, 50, -50);
p[1] = new Point3D(100, 100, -100);
p[2] = new Point3D(400, 100, -100);
t[3] = new Triangle(p[0], p[1], p[2]);
for(int i=0; i<4; i++){
wire(t[i]); }
バッファの描画
private void gray(){ 略 }
private void line(int x1, int y1, int x2, int y2){
略 }
//新しく作るメソッド
private void wire(Triangle t){
三角形の三辺を描く処理 }
940933:2006/09/28(木) 13:06:46
>>936
すいません
課題で出された部分で一番やらなきゃいけないのがここなもので
941デフォルトの名無しさん:2006/09/28(木) 14:54:52
そうじゃなくてさ…
何の絵柄かも分からんジグソーパズルの一片だけ持って来て
『どこにはめたらいいですか?』って聞かれても誰も答えられん
残りのピースを全部持って来いってこと
942デフォルトの名無しさん:2006/09/28(木) 16:30:07
【 課題 】
理想体重は、以下の式で計算される。
理想体重=BMI*身長*身長
(ここで、BMI=22で、身長はメートル単位)
例題1の計算方法を参考にして、以下のプログラムを作成せよ。
(身長と体重は、データとして与えよ。)
<課題1>
あなたの理想体重を、以下のような出力形式で求めよ。
”理想体重は 58.33KGです。”

<課題2>
あなたの体重は理想体重よりも何キロ軽いか重いかを求めよ。
軽い場合はマイナスの値で求めよ。
”実際の体重と理想の体重との差は、1.5 KGです。”
<課題3>
2乗の計算には、pow関数を用いよ。
 Math.pow (height,2.0)
<課題4> 
課題1と課題2のプログラムを1つのプログラムとせよ。
<課題5>
2人の理想体重について以下のような結果を求めるプログラムを作成せよ。
”私の理想体重は、56.13 KGです。”
”実際の体重と理想体重との差は、-2.87 KGです。”
”あなたの理想体重は、65.65 KGです。"
”実際の体重と理想体重との差は 3.56 KGです。”

【 期限 】来週の水曜まで
【 補足 】まったくのjava初心者であんまりわからないんですがお願いします。
943デフォルトの名無しさん:2006/09/28(木) 16:48:09
>>942
理想体重を計算するのに身長が必要だ。
2人分求めるので「私」 と「あなた」の身長が必要になるが、どうやって取得するか指定がない。
コンソールから入力するのか? プログラム上に固定値で書いておくのか?
最低限、それが決定すればできるぞ。
944943:2006/09/28(木) 16:51:01
追加
実際の体重も必要だな。
それもどこから取得するのか、問題文からはわからんので決めてくれ。
945デフォルトの名無しさん:2006/09/28(木) 18:03:41
>>933>>939>>1のソースナントカってのを使え。
946943:2006/09/28(木) 18:08:16
>>942
とりあえず、明日まで見てやれないんでこれでどうよ。
課題に合うように好きにいじってくれ。 ある程度自分でできるだろ。
わざと冗長に書いてるから、気に入らなかったらダイエットしてくれ
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=28362
947デフォルトの名無しさん:2006/09/28(木) 18:08:32
1レスに収まるくらい短けりゃ別にいいんじゃね
948デフォルトの名無しさん:2006/09/28(木) 18:08:40
>>939
つーか、お前 >>818 だろ。
人が回答書いてやってのに無視するとはどういうことだ??
>>1 も読めないやつは消えろ。
949デフォルトの名無しさん:2006/09/28(木) 18:34:47
>>940
俺のESPによるとjava.util.Collections.reverseかと
950デフォルトの名無しさん:2006/09/29(金) 07:52:31
>>895
俺も見てみたかったんだけど>>339はきえてるみたいで残念だ。
951デフォルトの名無しさん:2006/09/29(金) 08:56:54
酷い自演を見た
952933:2006/09/29(金) 11:30:23
>>941
これをJavaアプレットで立ち上げるとアプレットが開いて、
フォームに英数字を入力してaddBtnを押すとファイルにそのデータを順次追加、
firstBtnで最初に追加した要素を表示、lastBtnで最後に追加した要素を表示、
displayBtnで追加した要素を全て表示・・・
といった機能を持つプログラムです。
ここにremoveBtnを追加して、問題文のとおりの機能を持つ
ボタンを作るプログラムを書けというのが出題された課題です。
よろしくお願いします
953デフォルトの名無しさん:2006/09/29(金) 15:01:16
>>950
消えとらんぞ?
954デフォルトの名無しさん:2006/09/29(金) 15:03:08
>>952
お前、丸投げしろと言われてるのがわからんのか?
955デフォルトの名無しさん:2006/09/29(金) 15:07:09
>>952
文章で書かないで、ソース一式うぷろだに上げた方が話が早いと思うよ?
丸投げしろ、ってのはそういう意味。
それが嫌なら、諦めて自分でやりなされ。
956デフォルトの名無しさん:2006/09/29(金) 15:47:56
>>952
みんなそんな事は最初からわかってるよ。ただ、情報が足りないって言ってるんだよ。
「データを並び替えるプログラム」ってのも様々なやり方があるから元のソースが無いと回答しようが無いんだよ。
「腹が痛い」ってだけ言われても食あたりなのか虫垂炎なのかわからないだろ?
自分の腹を他人に見せないと誰も助けられないよ。
ソース全部http://sourcepost.sytes.net/ に上げて、改めて頼んでみたら?
957デフォルトの名無しさん:2006/09/29(金) 15:48:08
以下の問題(丸投げ)を宜しくお願い致します。
文章が長いので2回に分けます。

まず、トランプのカードとなるTrumpCard クラスを作ります.普通トランプにはスペード,クラブ,
ハート,ダイヤのマークとジョーカーがあります.また,それぞれの数値は1 から13 までの値を持つ
ので,それらを表現できるようにTrumpCard クラスを構成します.以下にあげる仕様を充たすように
TrumpCard を定義し,サンプルソースが動作するようにプログラミングを行いなさい.
1. クラスTrumpCard は,クラス変数として,String 型の変数SPADE,CLUB,HEART,DIAMOND,
JOKER を持つ.値はそれぞれ “spade”, “club”, “heart”, “diamond”, “joker” としま
す.
2. クラスTrumpCard は,インスタンス変数として,String markOfCard、int numberOfCard
を持ちます.markOfCard はトランプのマークをnumberOfCard はトランプの数字を示します.
3. クラスTrumpCard は,コンストラクタとしてTrumpCard(String mark, int number)を持
ちます.引数として与えられるmark はトランプのマークを与えることで,markOfCard に代入さ
れることとします.number はトランプの数値を示し,number で与えた値がnumberOfCard に
代入されることとします.また,mark の値が “joker”であった場合は,number の値が何であれ,
numberOfCard の値は14 とします.
4. クラスTrumpCard は,メソッドとして,public void showCard()を持ちます.このメソッド
を使用するとそのクラスの持つmarkOfCard とnumberOfCard の値をセットで表示します。
ヒント:文字列同士を比較する場合はString クラスのメソッドcompareTo(String)を使用するこ
とで比較ができます.これは,インスタンスが持つ文字列と引数の文字列とを比較するメソッドです。
文字列が等しいならば0 を返します。詳細はJava API 表のString クラスを見てください.
958957:2006/09/29(金) 15:51:06
続きです。

<<課題1-1 サンプルソース>>
public class Lesson1_1 {
public static void main(String argv[]) {
TrumpCard [] myCards =new TrumpCard[5];
myCards[0] = new TrumpCard(TrumpCard.SPADE,1);
myCards[1] = new TrumpCard(TrumpCard.CLUB,10);
myCards[2] = new TrumpCard(“heart”,5);
myCards[3] = new TrumpCard(“diamond”,12);
myCards[4] = new TrumpCard(TrumpCard.JOKER,9);
for(int i=0; i<5; i++)
myCards[i].showCard();
}
}
class TrumpCard {
//ここに実装を書く
TrumpCard(String mark, int number) {
//ここに実装を書く
}
public void showCard() {
//ここに実装を書く
}
}

提出期限は10月4日です。
宜しくお願い致します。
959デフォルトの名無しさん:2006/09/29(金) 16:01:30
class TrumpCard{
public final static String SPADE = "spade";
public final static String CLUB = "club";
public final static String HEART = "heart";
public final static String DIAMOND = "diamond";
public final static String JOKER = "joker";
private String markOfCard;
private int numberOfCard;
TrumpCard(String mark, int number){
  markOfCard = mark;
  if(mark.compareTo(JOKER) == 0){
    numberOfCard = 14;
  }else{
    numberOfCard = number;
  }
}
public void showCard(){
  System.out.println(markOfCard+numberOfCard);
}
}
960デフォルトの名無しさん:2006/09/29(金) 16:04:23
つくづく思うのだが、トランプの課題って多いんだな。
961957:2006/09/29(金) 19:07:43
>>959
ありがとうございます。
現在動作を確認することが出来ない状況ですので、
週末明けの月曜日に報告致します。
962957:2006/09/29(金) 19:16:55
連投で申し訳ないのですが、次の問題も解いては頂けないでしょうか…。
図々しいとは思いますが課題が全部で7つあり、全く分からない状況です。
もし、宜しければお願い致します。

1. クラスTrumpCard は,メソッドとしてpublic boolean compareStatus(String mark)を
持ちます.このメソッドが呼ばれた場合そのインスタンスが持つmarkOfCard の値とmark とを
比べ,同じ文字列であればtrue を異なればfalse を返り値として返します.
2. クラスTrumpCard は,メソッドとしてpublic int compareStatus(int number)を持ちま
す.このメソッドが呼ばれた場合そのインスタンスが持つnumberOfCard の値とnumber とを比
べ,同じ値ならば0 を,numberOfCard の方が大きければ正の整数,number の方が大きければ
負の整数を返り値として返します.数の大きさそのものは任意とします.
3. クラスTrumpCard は,メソッドとしてpublic int compareStatus(TrumpCard tc)を持ち
ます.このメソッドが呼ばれた場合そのインスタンスが持つmarkOfCard, numberOfCard の値
とtc の持つmarkOfCard, numberOfCard とをそれぞれ比べ,どちらも異なれば0 を,マーク
が同じなら1 を,数値が同じなら2 を,どちらも同じなら3 を返り値として返します.このとき返
り値として指定されている,0,1,2,3 の値をそれぞれクラス変数として,DIFFERENT,
SAME_MARK, SAME_NUMBER, EQUIVALENT として定義すること.
4. 1.2.3.のように同じ名前のメソッドでありながら,引数などの違いによって異なる実装を可
能とすることをなんと呼ぶか?ソース内のこれらのメソッド近くにコメントとして書き示しなさ
い.
963957:2006/09/29(金) 19:19:40
public class Lesson1_2 {
public static void main(String argv[]) {
TrumpCard [] myCards =new TrumpCard[6];
myCards[0] = new TrumpCard(TrumpCard.SPADE,1);
myCards[1] = new TrumpCard(TrumpCard.CLUB,1);
myCards[2] = new TrumpCard(TrumpCard.DIAMOND,12);
myCards[3] = new TrumpCard("diamond",10);
myCards[4] = new TrumpCard(TrumpCard.JOKER,9);
myCards[5] = new TrumpCard(TrumpCard.JOKER,2);
for(int i=0; i<6; i++) {
if(myCards[i].compareStatus(TrumpCard.SPADE)==true)
System.out.print(i+"枚目はスペードで,");
else System.out.print(i+"枚目はスペードでなく,");
if(myCards[i].compareStatus(7)>0)
System.out.println("7 より大きい数字です.");
else System.out.println("7 以下の数字です.");}
for(int i=0; i<6; i=i+2) {
int check = myCards[i].compareStatus(myCards[i+1]);
if(check==TrumpCard.DIFFERENT)
System.out.println(i+"枚目と"+(i+1)+"枚目は違うカードです.");
if(check==TrumpCard.SAME_MARK)
System.out.println(i+"枚目と"+(i+1)+"枚目はマークが同じです.");
if(check==TrumpCard.SAME_NUMBER)
System.out.println(i+"枚目と"+(i+1)+"枚目は数値が同じです.");
if(check==TrumpCard.EQUIVALENT)
System.out.println(i+"枚目と"+(i+1)+"枚目は同じカードです.");
}}}
class TrumpCard {
//実装を追加する.
}
上記が課題2です。提出期限も課題1と同じで10月4日です。
964957:2006/09/29(金) 19:20:29
続いて課題3です。

Lesson1_2 で作成したTrumpCard を拡張します.トランプでゲームを行う場合,そのカードが表を
向いているか裏を向いているかという要素は重要なので,それを表現できるようにします.この場合の
表とはマークや数値が表示されている側,裏はその逆で絵柄が付いている側を指すこととします.サン
プルプログラムが動作するように,以下の実装を付け加えなさい.
1. クラスTrumpCard は,インスタンス変数として,boolean openStat を持ちます.そのインス
タンスが表の場合はtrue,裏の場合はfalse の値を持つものとします.
2. クラスTrumpCard は,コンストラクタTrumpCard(String mark, int number, boolean
open)を持ちます.open によって,インスタンスの初期状態での表裏の値(openStat の値)を
決めることができるものとします.また,指定されない場合の初期値はfalse(裏向き)とします.
3. クラスTrumpCard は,メソッドとしてpublic void setOpened(boolean open)を持ちます.
このメソッドが呼ばれた場合そのインスタンスが持つopenStat の値をopen の値に置き換えます.
4. クラスTrumpCard は,メソッドとしてpublic boolean getOpened()を持ちます.このメソ
ッドが呼ばれた場合そのインスタンスが持つopenStat の値を返り値として返します.
965957:2006/09/29(金) 19:21:03
public class Lesson1_3 {
public static void main(String argv[]) {
TrumpCard [] myCards =new TrumpCard[3];
myCards[0] = new TrumpCard(TrumpCard.SPADE,1);
myCards[1] = new TrumpCard(TrumpCard.CLUB,10,true);
myCards[2] = new TrumpCard(TrumpCard.DIAMOND,12,false);
for(int i=0; i<3; i++) {
if(myCards[i].getOpened())
System.out.println(i+"枚目は表です.");
else System.out.println(i+"枚目は裏です.");
}
System.out.println("0 枚目を表に1 枚目を裏にします.");
myCards[0].setOpened(true);
myCards[1].setOpened(false);
for(int i=0; i<3; i++) {
if(myCards[i].getOpened())
System.out.println(i+"枚目は表です.");
else System.out.println(i+"枚目は裏です.");
}
}
}
class TrumpCard {
//ここに実装を書く
}
966957:2006/09/29(金) 19:21:40
続いて課題4です。

課題1-3 で作成したTrumpCard を拡張します.すでに生成されているインスタンスに対してのパラメ
ータの変更ができるようにします.以下の仕様を充たしサンプルプログラムが動作するように実装を行
いなさい.
1. クラスTrumpCard は,メソッドとして,public String getMark()と,public void
setMark(String mark)を持ちます.getMark はインスタンスの持つmarkOfCard の値を返り
値として返し,setMark はインスタンスの持つmarkOfCard の値をmark に置き換えます.
2. クラスTrumpCard は,メソッドとして,public int getNumber()と,public void
setNumber(int number)を持ちます.getNumber はインスタンスの持つnumberOfCard の値
を返り値として返し,setNumber はインスタンスの持つnumberOfCard の値をnumber に置き
換えます.
3. クラスTrumpCard は,メソッドとして,public void setStatus(String mark, int number)
とpublic void setStatus(String mark, int number, boolean open)を持ちます.コ
ンストラクタの時と同様にインスタンスの持つmarkOfCard, numberOfCard, openStat の値
をmark, number, open に置き換えます.ただし,open が指定されないときは,open の値は
現状の値をそのまま保持します.
4. どちらの場合もJOKER の場合は例外として先の仕様を充たし不整合が起きないようにしてくださ
い.
5. メソッドshowCard()を変更し,カードの状態をgetMark(), getNumber(), getOpened()
を使ってカードのマーク,数値,表裏の状態の表示を行いなさい.
967デフォルトの名無しさん:2006/09/29(金) 19:25:28
          、,       .      .      .      .、
          、|  . . .・ニ、   .   .   .  .、     ゙_、∴ー     、  . . . ._ ..〜.
       .¨¨¨¨¨〕¨¨¨¨゜        ゙,、_ ソ  ゙v.、’.    ´ 、’      ._^-     .  `′  .`
           i    .   .   .   .`/ 、\..`        .1    .゜` . ’_ 、_、
           |     、        .ソ`’         .    }  . . ..─‥´`
           `  . . .’  .  . . .ソ´ ..’         ゙!`ゝ|        ゙’
           .      |  .  .  .° .、’         .’、.、  .  .  . .’
      .      、! ̄``’-._       ^              ’  . . .・゜─--
         .     ’=‐^   .`          .          .’      `-、_
                                                 `〜。、_
                                   .                  `′
968957:2006/09/29(金) 19:31:00
public class Lesson1_4 {
public static void main(String argv[]) {
TrumpCard [] myCards =new TrumpCard[3];
myCards[0] = new TrumpCard(TrumpCard.SPADE,0);
myCards[1] = new TrumpCard(TrumpCard.CLUB,10,true);
myCards[2] = new TrumpCard(TrumpCard.DIAMOND,12,false);
for(int i=0; i<3; i++) {
myCards[i].showCard();
}
myCards[0].setMark(TrumpCard.HEART);
myCards[1].setNumber(14);
myCards[2].setStatus(TrumpCard.JOKER, 3, true);
for(int i=0; i<3; i++) {
myCards[i].showCard();
}
}
}
class TrumpCard {
//ここに実装を書く
}
969933:2006/09/29(金) 19:47:03
>>954-956
最初にソース上げたと思い込んでました…
本当に申し訳ありませんでした
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=28370
970957:2006/09/29(金) 19:50:28
長くなってしまったので、zipで圧縮してアップロードします。
中身はdoc形式になっております、
ttp://winplus.or.tp/uploader01/upload.php?counting=178&firen=winplus.jp178.zip

最初から気づいていればよかったのですが、スレを消費してしまい申し訳ありませんでした。
971デフォルトの名無しさん:2006/09/29(金) 19:55:06
図々しいっていうか、全然やる気がないんだな。
まだまだ時間はたくさんあるのに…。
ここをうろうろしてる連中なら即日で回答できるし、10/2ぐらいまでは
自分で粘ってみてもいいんジャマイカ?
972957:2006/09/29(金) 20:06:26
>>971
確かにあなたの言う通りだと思います。
実はもうすぐ資格の試験日が近づいており、その勉強もしないといけない状況下にあるので、
時間があるようで実はないんです…。
試験が終われば時間に余裕が出来てくるのでJavaの基本から勉強しようと思っているので、
今回だけはどうかお助け下さい…。
973デフォルトの名無しさん:2006/09/29(金) 20:08:56
まぁ頼むのは勝手だが誰も回答してくれない可能性も考えとかないと痛い目に遭うよ。
974デフォルトの名無しさん:2006/09/29(金) 20:27:32
解答してもらえると勘違いしてるんじゃないか?
授業も落として、資格も落ちたほうが、奴の今後のためだろう。
975デフォルトの名無しさん:2006/09/29(金) 20:44:33
>>972
基本情報でも受けるのか
だったらこの程度の課題が出来ないとダメだろ
976デフォルトの名無しさん:2006/09/29(金) 20:56:34
>>972
まあ完全に投げてるわけじゃないんだな。
仕事から帰ってきて回答あがってなかったらやってやるよ。
977デフォルトの名無しさん:2006/09/29(金) 22:41:31
もうすぐ1000だな
978デフォルトの名無しさん:2006/09/29(金) 22:43:11
起きたら新スレでも立てるか。
979デフォルトの名無しさん:2006/09/29(金) 23:19:50
まんこくせぇ
980デフォルトの名無しさん:2006/09/30(土) 04:44:32
>>339の奴の
System.out.println("引いたカードは" + (v == 1 ? "A" : v) + "です");
の(v == 1 ? "A" : v)の部分の意味が良くわかりません。
よろしければ解説お願いします。
981デフォルトの名無しさん:2006/09/30(土) 05:06:10
>>980
三項演算子でぐぐれ
982デフォルトの名無しさん:2006/09/30(土) 05:47:40
>>957
>>968 は大丈夫なのか? スペードの0の存在を許容してしまっているが。
あと、与えられてる文章だけじゃナンバーが14の場合はJOKERに化けて
良いのかもよくわからん。
983デフォルトの名無しさん:2006/09/30(土) 05:52:22
つまり、>>957の説明で
  「JOKERならば14」
とされてはいるものの、
  「14ならばJOKER」
という指示がなされてないから、JOKERに配慮した設計をしろと言われても
どう対処すべきなのかがこちらで判断できん。
おまいもわからんようなら、「課題の文面では○○か判断できなかったため、
独断で△△のようにしました」ってぐらいのコメントを突っ込んでおくが。
984980:2006/09/30(土) 06:13:28
>>981
ググって使い方はわかった。
けどEclipseではじかれるのは仕様?
使うことは余り好ましくないみたいに書かれてたからはじかれるだけ?
コンソールならできるのかな?
985デフォルトの名無しさん:2006/09/30(土) 06:24:56
>>984
今試してみたが、別にはじかれんぞ。
んで、ここは宿題スレ。お前の投稿は ImproperThreadException
986984:2006/09/30(土) 06:37:35
>>985
>>339のをそのままコピペしたら
非互換条件オペランド型 String と int
と出る。

if〜elseに書き直せば普通に通る。
ちなみにJDKは1.5.0_08。

スレ違いなのでこれ以上はやめておく。
スレ汚しスマン。
987デフォルトの名無しさん:2006/09/30(土) 08:34:05
988957:2006/09/30(土) 09:13:36
>>982,983
問題は丸投げの物を書いてあるので、Javaのことが全く分からない自分からすると
お二人の言ってることがいまいち理解出来ない状況ですので、
来週の火曜日に講義があるので、その時に聞いてみます。
989957:2006/09/30(土) 09:48:07
各課題の実行結果も課題と一緒に書いてあったのですが、必要でしょうか?

ttp://winplus.or.tp/uploader01/upload.php?counting=186&firen=winplus.jp186.zip
zip圧縮の中身はdoc形式でアップロードしましたので、
必要な方はご参考程度にDLお願いします。
990デフォルトの名無しさん:2006/09/30(土) 09:52:50
>>969==933
コードみて確信した。
>>949 がESPで答えてる。w
やるなw >949
991デフォルトの名無しさん:2006/09/30(土) 11:39:38
>>990
確信以前に、名前に書いてるだろ。
これだからアホジャヴァーは。
992デフォルトの名無しさん:2006/09/30(土) 11:47:13
専修だからじゃね。。。このネタももうあきたねw
993デフォルトの名無しさん:2006/09/30(土) 12:03:41
とりあえず流すか。
答えを貰えなかった連中は次スレで訴えてくれ。
994デフォルトの名無しさん:2006/09/30(土) 12:05:22
未来神話ジャーバス
995デフォルトの名無しさん:2006/09/30(土) 12:06:23
この勢いなら初1000!!!!!111
996デフォルトの名無しさん:2006/09/30(土) 12:07:24
996
997デフォルトの名無しさん:2006/09/30(土) 12:08:24
998デフォルトの名無しさん:2006/09/30(土) 12:08:35
997
999デフォルトの名無しさん:2006/09/30(土) 12:08:56
1000デフォルトの名無しさん:2006/09/30(土) 12:09:53
orz
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。