★★ Java の宿題ここで答えます Part 69 ★★ at TECH
[2ch|▼Menu]
1:デフォルトの名無しさん
10/03/05 22:46:02
【質問者へ】
回答者の便宜のため、以下の注意事項を遵守してください。
・質問は【課題提示用テンプレ】を利用してください。
・問題文は、出題されたまま全文を書いてください。
・数学問題は「○×法でせよ」だけでなく、その数式、前提条件も説明してください。
・JavaScriptは板違い、Web制作板をご利用ください。
・エラーは、その詳細と発生した行を書きましょう。エラーメッセージはコピペしてください。
・後から問題に付け足しするのはやめましょう。付け足しは作業を無駄にしがちです。
・回答されたら動作報告を必ずしてください。
・課題文が長い時、添付ファイルがある時はこちらのアップローダーを使うと便利です。
URLリンク(rg550.hp.infoseek.co.jp)

【課題提示用テンプレ】
【 課題 】与えられた課題文をそのまま書きます。 《必須》
【 形態 】1. Javaアプリケーション(main()で開始)/2. Applet/3. Servlet/
       4. 携帯(開発環境のver.必須)/5. その他(明記のこと) 《必ず選択》
【 GUI  】1. AWTのみ/2. Swing/3. SWT/4. 制限なし/ 5. その他(明記すること)
       《GUIの課題の場合必ず選択》
【 期限 】提出期限、解答希望日を書きます。「できるだけ早く」はNG。 《必須》
【 Ver  】コンソールでjava -versionを実行し、その結果を貼ります。 《必須》
【 用語 】数学用語、専門用語の意味、説明を書きます。 《あれば必須》
【 補足 】課題について自分なりに補足する事、何か思う事があれば書きます。
       丸投げでない場合は、途中までのソースとその経過報告、
       質問点、疑問点を書きます(なるべく丸投げにしてください)。

【回答プログラムの掲載場所】
Java質問スレWiki  URLリンク(www.wikiroom.com)
ソースポストネット  URLリンク(sourcepost.sytes.net)
ろだ2  URLリンク(rg550.hp.infoseek.co.jp)

【前スレ】
スレリンク(tech板)

2:デフォルトの名無しさん
10/03/05 22:56:53
>>1 乙

3:デフォルトの名無しさん
10/03/05 23:44:07
前スレ981です。とりあえず立ててみましたが大丈夫でしょうか。

前回の続きなんですが、
URLリンク(rg550.hp.infoseek.co.jp)
で、enshu5.jspを起動したときのエラーを記述しました。
頂いたzipのファイルのそれぞれをコピーして動かしているものです。

4:デフォルトの名無しさん
10/03/06 00:27:32
>>3
webサーバー何使ってるんだい?
tomcatならworkの下にjspがサーブレット化されたソースあるから
enshu5_jsp.java:24を見てみてくれ

5:デフォルトの名無しさん
10/03/06 02:06:22
>>4
Tomcat6.0を使用しています。

URLリンク(rg550.hp.infoseek.co.jp)
前スレで貼ってみた奴なんですが、enshu5_jsp.javaのファイルがあります。
大体のファイルがこの行というか、初期化の段階で詰まってるみたいなんで、
確認してみたんですが……。

_el_expressionfactory = _jspxFactory.getJspApplicationContext(
   getServletConfig().getServletContext()).getExpressionFactory();

のgetServletConfig().getServletContext()の辺りが、怪しいなと思って調べたんですが……

>イニシャライザやコンストラクタ等から呼び出した場合、ServletConfig が設定されていないため null が取得される。

という文を見つけたんですが、イニシャライザがinit()だとしても此処でどんなファイルも
初期化をするなら、nullが入っていたとしてもそれがエラーに繋がるんだろうかとか混乱しまい……。
とりあえずこの辺りでnullが入る可能性のある個所はかなり多いみたいなので、自分でも
もう一回メソッドの戻り値とか調べてみます。

6:デフォルトの名無しさん
10/03/06 02:35:33
だからtomcat再インスコしろって

7:デフォルトの名無しさん
10/03/06 07:23:25
仕事で宿題する暇ない。月曜までに提出しないと単位が貰えない!!!間に合わない!!!
因数分解と連立方程式と一次か二次方程式・・・ぜんぜんわからない
途中計算も書かないといけないとか・・・

誰か助けてください,,,,,

8:デフォルトの名無しさん
10/03/06 10:23:50
>>6
うーん、何か色々調べてると、たまにTomcat不調になったりすることがあるらしいですね……。
今日またちょっと調べてくるので、それでも駄目そうなら今日の夜再インストールしてみます。

9:8
10/03/08 19:44:46
>>8です。


前スレからお世話になりましたが、Tomcatを再インストールし直して
データベースとの接続をやり直してみたところ、ようやく成功しました!!
やはりTomcatの不調だったんでしょうか……。

土曜日から報告が遅れてしまいましたが、確認してみたところ、
エラーがまた変わりまして、postgreのjarを再配置してやり直したら
すべての表が出るようになりました。
今はリストボックスから選んだ性別を検索して表示されるプログラムをやり直しています。
(何だか上手くいかず、それにもたもたしていたら遅くなってしまいました…)
とりあえずこれは自分でちゃんとやろうと思います。


前スレからずっと色々な事を教えて下さったりソースを見せて下さった方々には
申し訳ないと同時に、本当に感謝しています。有難う御座います!

10:デフォルトの名無しさん
10/03/09 08:18:01
>>9
おー、おめっとーさん!


11:デフォルトの名無しさん
10/03/21 08:28:28
【 課題 】任意の画像A(形式.ppm)と画像B(形式.ppm)を用意する。
画像A上の任意の4点の座標をマウスのクリックにより取得し、その4点を結んだ四角形の形、大きさにBを変形し、
AとBを合成した画像Cを描画し、それを、ppmファイルで出力せよ。
なお、画像の変形には逆マッピング変換(inverse mapping)とバイリニア補完(bilinear interpolation)を使うこと。
変形に際し、Java Advanced Imaging のようなAPIを使ってはならない。

【 形態 】1. Javaアプリケーション(main()で開始) or 2. Applet
【 GUI  】制限なし
【 期限 】3月23日
【 Ver  】java version "1.6.0_17"
【 補足 】よろしくお願いします。

12:11
10/03/21 08:41:37
もちろん、ppmファイルを読むために、Java Advanced Imaging image I/O tools を使って貰って問題ないです。
説明の付け足しみたいになってしまってすみません。

13:デフォルトの名無しさん
10/03/22 18:12:21
【 課題 】
○県、市別に男女の人数をクロス集計するプログラムを作成せよ。

千葉県 柏市 男
千葉県 松戸市 男
埼玉県 さいたま市 女
千葉県 柏市 男
埼玉県 越谷市 男
千葉県 松戸市 男
埼玉県 岩槻市 女
千葉県 柏市 女
埼玉県 さいたま市 女

[実行例](男の場合)
,柏市,松戸市,さいたま市,越谷市,岩槻市
千葉県,2,2,0,0,0
埼玉県,0,0,0,1,0

[実行例](女の場合)
,柏市,松戸市,さいたま市,越谷市,岩槻市
千葉県,1,0,0,0,0
埼玉県,0,0,2,0,1

【 形態 】1. Javaアプリケーション

【 期限 】3/28まで

【 Ver  】java version "1.5.0_05"


CSVへの出力やファイル入出力といったことはできますが、クロス集計のアルゴリズムに苦戦しています。
よろしくお願い致します。

14:デフォルトの名無しさん
10/03/22 23:19:34
>>13
特徴:広島県府中市と東京都府中市に対応
URLリンク(rg550.hp.infoseek.co.jp)

15:デフォルトの名無しさん
10/03/23 13:00:41
>>13
>>14 のがやけに複雑にしてるように見えたので、簡単なるかとやってみた。
URLリンク(rg550.hp.infoseek.co.jp)

16:14
10/03/23 13:52:01
>>15
正直書いててなんでこんなめんどくさry
LinkedHashMap<String, LinkedHashMap<String, Integer>>のデータ構造はともかくprint文もながいし


17:13
10/03/23 22:22:16
>>14-15
お二方ともどうもありがとうございました!
Mapの中に更にMapを入れるのがミソなんですね…
色々勉強させてもらいました!

18:デフォルトの名無しさん
10/03/30 04:14:36
【 課題 】URLリンク(rg550.hp.infoseek.co.jp)
【 形態 】1. Javaアプリケーション(main()で開始)
【 GUI  】制限なし
【 期限 】4月02日
【 Ver  】java version "1.6.0_17"
【 補足 】英語の課題です、よろしくお願いします

19:デフォルトの名無しさん
10/04/01 11:59:41
>>18
URLリンク(rg550.hp.infoseek.co.jp)

20:デフォルトの名無しさん
10/04/01 12:43:56
>>18
あげなおし。ボーナス部分は無し
URLリンク(rg550.hp.infoseek.co.jp)


21:デフォルトの名無しさん
10/04/01 12:56:17
>>18
変だったので修正。
URLリンク(rg550.hp.infoseek.co.jp)

22:デフォルトの名無しさん
10/04/01 13:36:23
>>29 >>20 >>21
同じクラスの他のプロジェクトに、
LinkedListとOrderedListに関するエッセイ、他のクラスの課題と
正直、一杯一杯で途方に暮れており、とても助かりました、ありがとうございます

今回の宿題は月曜日にあるテストの範囲に含まれているので、
これからじっくり検証してみようと思います

本当にどうもありがとうございました

23:デフォルトの名無しさん
10/04/01 14:36:12
>>18
一応、最初に見つけた経路ひとつを表示するヤツ。逆順だけど。
URLリンク(rg550.hp.infoseek.co.jp)

24:デフォルトの名無しさん
10/04/19 23:08:56
【課題提示用テンプレ】
【 課題 】数学関数を用いて,自分の名前や所属をできるだけ半円状に表示するようなプログラムを作りなさい.
【 形態 】1. Javaアプリケーション(main()で開始)
【 GUI  】 制限なし
       《GUIの課題の場合必ず選択》
【 期限 】提出期限 翌朝
【 Ver  】Version 6 Update 20?
【 補足 】数学関数については三角関数を使うというヒントが出ています。文字の前のスペースの個数をfor文でまわせますか?

25:デフォルトの名無しさん
10/04/19 23:39:57
URLリンク(okwave.jp)
こっちは円状だな

半円状って弧の方向は適当でいいのかい?
名前や所属の大体の文字数や半円の大きさの指定は?

26:デフォルトの名無しさん
10/04/19 23:53:38
>>25
確実に同じ学校ですwww
円は右半分です
文字数に指定はなく、半円の大きさも特に指定無しです

27:デフォルトの名無しさん
10/04/20 00:08:05
>>24
import java.awt.*;
public class Kadai24 extends Panel{
String arc_str;
@Override
public void paint(Graphics g) {
g.setFont(new Font("", Font.BOLD,40));
for (int i = 0; i < arc_str.length(); i++) {
double x=0.4*getSize().width*Math.cos(Math.PI*2*i/arc_str.length()+Math.PI)+getSize().width/2;
double y=0.4*getSize().height*Math.sin(Math.PI*2*i/arc_str.length()+Math.PI)+getSize().height/2;
System.out.println(x+" "+y);
g.drawString(""+arc_str.charAt(i),(int)x,(int)y);
}
g.dispose();
super.paint(g);
}
public static void main(String[] args) {
Frame f=new Frame();
Kadai24 p=new Kadai24();
p.arc_str=" 10x4023 山田 太郎";
f.add(p);
f.setSize(640,480);
f.setVisible(true);
}
}
こういうこと? 文字自体を回転させるのはシラネ

28:デフォルトの名無しさん
10/04/20 00:10:20
だれかCUIverもたのむ

29:デフォルトの名無しさん
10/04/20 00:32:39
ああ!もしかして
> 文字の前のスペースの個数をfor文でまわせますか?
っていうのはCUIということなのか
全然気にしてなかったよ
> 【 GUI  】 制限なし
があったからてっきりGUIだとばかり思ってた
つまり1行1文字ずつ円弧配置っぽくなるようにスペースを行頭に入れるってこと?

30:28=27
10/04/20 00:33:28
>>29
ごめん冗談です

31:デフォルトの名無しさん
10/04/20 00:34:20
>>24
本当に助かります
ありがとうございます
とても素晴らしいプログラミングです
しかし、この状態で提出しますと習っていない領域まで踏み込んだことになるので
幾分都合が悪いです
非常に図々しい希望なんですが
半角スペースと、配列を使い表示される文字をあらかじめ設定し
三角関数を使い、かつ、for文で文字が丁度半円になるようにスペースを行により増減させ表示できますか?
なので技術的に使用するのは配列とfor文と三角関数のみになります
説明不足でお手数をかけてしまいすみませんでした

32:28=27
10/04/20 00:37:27
・・・・・・マジカヨ

33:28=27
10/04/20 01:49:32
String arc_str="10x4023 山田 太郎";
int height=25,width=38;
char output[][]=new char[height][width];
for (int i = 0; i < height; i++)
for (int j = 0; j < width; j++)
output[i][j]=' ';

for (int i = 0; i < arc_str.length(); i++) {
int x=(int)((1.0-Math.cos((double)i/(arc_str.length()-1)*Math.PI))/2*height);
int y=(int)(Math.sin((double)i/(arc_str.length()-1)*Math.PI)*width);
if(y>=width)
y=width-1;
if(x>=height)
x=height-1;
if(output[x][y]!=' ')
System.out.println("エラー 上書きされました:"+output[x][y]);
output[x][y]=arc_str.charAt(i);
}
for (int i = 0; i < output.length; i++) {
System.out.print(i);
System.out.print('\t');
for (int j = 0; j < output[i].length; j++) {
System.out.print(output[i][j]);
}
System.out.println();
}

34:デフォルトの名無しさん
10/04/20 05:51:20
中心角が等分でなくていいのならこんな感じでもいいのかも
y座標から中心角を求めてさらにx座標を求めてる
文字の幅と高さが同じでないのでその分補正してるけど

public class Foo {
public static void main(String[] args) {
double aspect = 18. / 8; // 文字高さ / 文字幅
char[] chars = {'1', '0', 'x', '4', '0', '2', '3', ' ', '山', '田', ' ', '太', '郎'};
double r = (chars.length - 1) / 2.;
for (int y = 0; y < chars.length; y++) {
int x = (int)(r * Math.sin(Math.acos(1 - y / r)) * aspect);
for (int j = 0; j < x; j++) System.out.print(' ');
System.out.println(chars[y]);
}
}
}

35:デフォルトの名無しさん
10/04/20 07:02:06
x座標を求めるのはx^2=r^2-(r-y)^2=y(2r-y)で
int x = (int)(Math.sqrt(y * (2 * r - y)) * aspect);
でもよかったんだけど三角関数のみってことなんでsqrtは遠慮した
Math.round使ってもいいのならintにキャストする前に丸めた方がいいかもだけど
所詮文字による擬似グラフィックスの精度なんでまあいいか
さて満員電車に揺られるか……

36:デフォルトの名無しさん
10/04/24 18:11:40
【 課題 】URLリンク(www.bohyoh.com)
上記ページに問題とプログラムが書いてあります
【 形態 】1. Javaアプリケーション(main()で開始)
【 期限 】来週月曜まで
【 補足 】YMD after(int n)とYMD before(int n)というメソッドがあるんですが
      メソッドの先頭に付いているYMDの意味がわかりません
      どなたか説明していただけませんか?            

37:デフォルトの名無しさん
10/04/24 20:04:39
関数の戻り値の型がYMD。

38:デフォルトの名無しさん
10/04/28 22:26:55
【 課題 】 URLリンク(rg550.hp.infoseek.co.jp)
【 形態 】1. Javaアプリケーション(main()で開始)
【 期限 】できれば明日まで
【 Ver  】java version "1.6.0_17"
【 補足 】自分には難しい問題でした。

39:デフォルトの名無しさん
10/04/29 00:01:43
>>38
URLリンク(ideone.com)

40:デフォルトの名無しさん
10/04/29 08:51:45
>>39
ご回答ありがとうございます。
答えて頂いたのにあれなのですが、これをもっと複数のメソッドを使用して
処理を細かくわけることはできますでしょうか?

41:デフォルトの名無しさん
10/04/29 10:05:43
>>40
URLリンク(ideone.com)
正直言って分ける必要性はない

42:デフォルトの名無しさん
10/04/29 14:05:50
最初の解答の方がマシだな

43:デフォルトの名無しさん
10/04/29 23:35:06
【 課題 】 URLリンク(www51.tok2.com)
【 形態 】1. Javaアプリケーション(main()で開始)
【 期限 】明日の13時まで
【 Ver  】CPad for JAVA2 SDK Ver2.31
【 補足 】体重、身長を入力してからBMIを求め
その結果を4つの基準で判断するというプログラムなんですが、どうもどの数字を入力しても痩せていると判断されてしまいます
どこが間違ってるのでしょうか・・・

44:デフォルトの名無しさん
10/04/30 00:02:24
>>43
int bmi; → double bmi;
bmi = 0; → bmi = wait/(t*t)
にすれば大丈夫
元のコードだとbmiが0のままだからやせ過ぎってでてる

45:デフォルトの名無しさん
10/04/30 00:25:54
>>44
あ、そうかこれだと計算しようがbmiはゼロのままなのか
BMIの値がおかしいって出るから0で初期化すればいいのかと思ってたらこれじゃ意味ないですね・・・ありがとうございました

46:デフォルトの名無しさん
10/04/30 15:32:52
>>43
お前がデブってことだな

47:デフォルトの名無しさん
10/05/10 08:56:28
age

48:hito
10/05/12 00:37:14
【 課題 】URLリンク(rg550.hp.infoseek.co.jp)
【 形態 】1. Javaアプリケーション(main()で開始) or 2. Applet
【 期限 】5月13日
【 Ver 】java version "1.6.0_20"
【 補足 】一つの物をつくるのですが、何回かに分けて提出です。pdfファイルを見ていただければわかると思います。
一番日付が近い5月13日をお願いします。
二回目以降もできないと思うので続けて作成していただきたいと思います。
自分は、まったくできないので参考に勉強をしたいのでコメントを付けていただければ幸いです。
途中まで作ったのですが、switchまでが限界・・・。そこからどのようにしていいのかがまったく手をつけられません。
一応自分が途中まで作ったものをUPします。エラーが出てしまう部分は削除しました。
よろしくお願いします。
URLリンク(rg550.hp.infoseek.co.jp)


49:hito
10/05/12 02:13:08
追加です。
期限ですが、13日の午前中までにお願いします。


50:hito
10/05/12 09:55:49
たびたびすみません。
予定の第一回の内容が5月13日のものです。
修正がおおくてすみません。

51:デフォルトの名無しさん
10/05/12 23:33:32
>>48
URLリンク(ideone.com)
明日までの分はカバーできてるはず テストケースはソースに埋め込む必要ないとおもうのでご自分でどうぞ
equals hashcode switchの本文らへんはけしてもよろし

52:hito
10/05/13 00:22:26
>>51
ありがとうございます。
参考に頑張ります!!

53:デフォルトの名無しさん
10/05/14 03:19:04
【 課題 】 >>43と似ているのですが名前・体重・身長を入力してBMIを求めて画面に出力する。
また身長、体重入力する際、マイナスな入力が行われたら、「再入力」をリクエストするようにコードを改良する。
【 形態 】1. Javaアプリケーション(main()で開始)
【 期限 】来週の木曜日
【 Ver  】java version "1.6.0_18"-b07
【 その他】
以下のコードを利用して可能な限り、直接データを触れずに、セッターとゲッター経由でやりましょう。
URLリンク(www.uproda.net)
それではよろしくお願いします

54:デフォルトの名無しさん
10/05/14 03:25:27
>>53
かわいいね^^

55:デフォルトの名無しさん
10/05/14 03:46:56
>>53
URLリンク(ideone.com)

56:デフォルトの名無しさん
10/05/14 03:51:49
修正
printf文
System.out.printf("%s%.2f\n", "BMI = ", getBmi());
まあ好みの問題だけど

57:53
10/05/14 11:12:34
>>55
ありがとうございます
このコードから体重や身長を入力した際に(-53)などありえない数字や
文字が入力した際に再入力するようにするにはどうしたらいいでしょうか

58:デフォルトの名無しさん
10/05/14 20:36:53
>>57
void inputWeight() {
while(true){
System.out.print("input weight(kg) : ");
try {
setWeight(Double.parseDouble((br.readLine())));
if(getWeight()>1.0&&getWeight()<1000.0)break;
} catch (IOException e) {
e.printStackTrace();
System.exit(-1);
}
}
}
名前空欄にさせたくないならgetName.length()>1とか

59:デフォルトの名無しさん
10/05/15 00:20:58
規制のせいでレスが遅れてすみません。現在代行の方にお願いしています
>>58
その2つはのコードはどこに入れたらいいのでしょうか
無知ですみませんが引き続きお願いしますl

60:デフォルトの名無しさん
10/05/15 21:50:21
>>59
どこにいれるというか
古いほうのvoid inputWeight(){・・・}を置き換える
17行目〜24行目を消して同じ場所に挿入
Heightも同様 ソースは自分で考えれるはず
nameは・・・ まあ適当に

61:53
10/05/15 22:21:29
URLリンク(rg550.hp.infoseek.co.jp)

>>59さんのレス見ていじってみましたがエラーが消えません・・
名前も消したくないのですが>>58さんの
getName.length()>1
はどこに入れたらいいかいいか分からないうえに
とりあえず17行目の前に入れたりしましたが、エラーが増えただけでしたorz

62:デフォルトの名無しさん
10/05/15 22:30:36
>>61
ごめん25-32だったわ

nameのほうは
void inputName() {
while(true){
System.out.print("input name : ");
try {
setName(br.readLine());
if(getName().length()>0)break;
} catch (IOException e) {
e.printStackTrace();
System.exit(-1);
}
}
}

63:デフォルトの名無しさん
10/05/15 22:39:08
>>61
そんなんは宿題教えるどころか、落第させればいい
無能はITはこなくていいよ

>>62
お前は甘すぎだよ
こういうスレだっていわれりゃそれまでだけど、こんなん教えてもその場しのぎだし本人のためにならんよ
そもそも本人が理解していないんだし

64:デフォルトの名無しさん
10/05/15 22:44:41
>>63
課題URLも間違ってるしなw
まーITには来ないでしょ
とりあえず課題だけで単位取れるならいいが、試験あるなら注意したほうがいいかもね

65:デフォルトの名無しさん
10/05/15 23:50:30
あれURL確認した時は間違ってなかったのにおかしいな
無能と言われても仕方ないかorz
試験はないので課題だせたらなんとかなります
すみませんが改めて>>53の指定されたコードを上げ直しておきます
URLリンク(www.uproda.net)


66:デフォルトの名無しさん
10/05/16 00:01:13
>>65
うーん・・・ かわいい^^画像でた時点でTOPページ飛んで、
それっぽいの既に見つけてあるから今さらupされても・・・ じゃなきゃ答えれないお

67:デフォルトの名無しさん
10/05/17 16:12:30
【 課題 】直線で書いた3次元の立方体を描画し、3次元の回転を行うためのスクロールバーを表示し、立方体を回転する
【 形態 】1. Javaアプリケーション(main()で開始)/
【 期限 】5月20日(木)
【 Ver  】"1.6.0_12"
【 補足 】線は点の連続(drawLine(x, y, x, y)のループ)で描写します。丸投げですがよろしくお願いします。

68:デフォルトの名無しさん
10/05/17 16:24:36
>>67
>>1

69:デフォルトの名無しさん
10/05/18 14:42:39
【 課題 】人工衛星の軌道を描け
【 形態 】2. Applet
【 GUI  】1. AWTのみ
【 期限 】5/24(月)
【 Ver  】java version "1.6.0_20"
【 補足 】イメージとしては
URLリンク(www.bekkoame.ne.jp)
のような感じのものをお願いします。

70:デフォルトの名無しさん
10/05/18 14:44:12
>>69
6.0でawtのみってよほどの低能な学校行っているんだね
教授の底も知れているよ

71:デフォルトの名無しさん
10/05/19 01:41:04
>>69
URLリンク(ideone.com)

72:71
10/05/19 01:41:49
あーAppletだったのか

73:71
10/05/19 01:54:44
APPLET版 800x600
URLリンク(ideone.com)

74:デフォルトの名無しさん
10/05/19 20:56:56
【 課題 】URLリンク(rg550.hp.infoseek.co.jp)
【 形態 】1. Javaアプリケーション(main()で開始)/
【 期限 】できれば明日中に
【 Ver  】"1.6.0_20"
【 補足 】宜しくお願いします。

75:デフォルトの名無しさん
10/05/20 13:52:26
【課題】
Step1:
 2つの自然数a,b (a <= b) を実行引数としてプログラムを
実行すると, aからbまでの総和を求めるSumAtoB_1.javaを完
成させなさい.ただし, Study10_1.javaには手を加えないこと.

Step2:
Step1で作成したSumAtoB_1では, (1)実行引数がint型でない場
合にNumberFormatExceptionという例外が,(2)実行引数の数が
足りない場合にArrayIndexOutOfBoundsExceptionという例外がInteger.parseInt()
から投げられる.そこで,(1)の場合には,“NumberFormatException
”と表示し, (2)の場合には“ArrayIndexOutOfBoundsException
”と表示するようにStudy10_1.javaと SumAtoB_1.javaを修正
して, Study10_2.javaとSumAtoB_2.javaを完成させなさい.た
だし, 例外はmainメソッドで受け取ること.

Step3:
Step2で作成したプログラムSumAtoB2_2.javaでは,(3)実行引
数の数が3つ以上の場合,(4)0以下の整数の場合, (5)a>bの場
合に,どのような例外も投げられない.そこで,(3)(4)(5)に
対して以下の
例外を投げ,(3)の場合には“TooManyArgsException
”と表示し,(4)の場合には “NonPositiveArgsException”と
表示し,(5)の場合には“AGreaterThanBException”と表示す
るようにStudy10_2.javaとSumAtoB_2.javaを修正してStudy10_3.java
とSumAtoB3.javaを完成させなさい.

(3) TooManyArgsException : 実行引数の数が3つ以上の場合
(4) NonPositiveArgsException : 0以下の整数の場合
(5) AGreaterThanBException : a>bの場合

76:デフォルトの名無しさん
10/05/20 13:59:35
出力結果

>>java Study10_3 1 10
55

>>java Study10_3 1 5.5
NumberFormatException

>>java Study10_3
ArrayIndexOutOfBoundsException

>>java Study10_3 1 2 3
TooManyArgsException

>>java Study10_3 -5 5
NonPositiveArgsException

>>java Study10_3 5 1
AGreaterThanBException

表1.クラスSumAtoB_1〜3のメソッドsummation
public void summation(String args[])
コマンドラインから引き渡された文字列を整数に変換する.
自然数aから自然数bの総和を求めて表示する.

【形態】 1
【期限】 明日の12時まで
【ver】 java version "1.6.0_04"
Java(TM) SE Runtime Environment (build 1.6.0_04-b12)
Java HotSpot(TM) Client VM (build 10.0-b19, mixed mode,
sharing)

77:デフォルトの名無しさん
10/05/20 14:10:32
【補足】Step3の途中まで出来たのですがその後が分かりません・・・
おそらく後は例外が出るようにするだけなのですが・・・
一応Study10_2までは動作を確認しています。
長々と失礼しました。どなたかよろしくお願いします。

書きかけプログラム
URLリンク(rg550.hp.infoseek.co.jp)

78:デフォルトの名無しさん
10/05/20 14:37:39
ゴール手前でリタイアか・・・見っともないな

79:デフォルトの名無しさん
10/05/20 14:47:24
public class TooManyArgsException extends RuntimeException{
}
見たいなのを3つ作る 中身は空でいいはず

mainの中で
if(arg.length>3)throw new TooManyArgsException();

見たいな感じであとはできると思う

80:デフォルトの名無しさん
10/05/20 15:44:51
>>71-73
できました。
本当にありがとうございました。

81:デフォルトの名無しさん
10/05/22 18:17:18
【 課題 】入力したテキストに含まれる文字を種類別に使用回数を表示し、降順にソートし出力するプログラムを作れ。
【 形態 】1. Javaアプリケーション(main()で開始)
【 GUI  】制限なし
【 期限 】5月中
【 Ver  】java version "1.6.0_17"
【 補足 】使用する文字は半角アルファベットのみです。

82:デフォルトの名無しさん
10/05/23 00:10:29
>>79
遅くなりましたがなんとか出来ました!
ヒントありがとうございました。

83:デフォルトの名無しさん
10/05/23 01:52:52
>>81
import java.io.*;
import java.util.*;
public class KADAI100523 {
public static void main(String[] args) throws IOException {
BufferedInputStream bis = new BufferedInputStream(new FileInputStream("input.txt"));
long countChar[] = new long[26 * 2];
for (int i = 0; i < countChar.length; i++)
countChar[i] = i - 128 + (i < 26 ? 'A' : 'a' + -26);
for (int c = bis.read(); c != -1; c = bis.read())
if (c <= 'z' && c >= 'a') countChar[c - 'a' + 26] -= 128;
else if (c <= 'Z' && c >= 'A') countChar[c - 'A'] -= 128;
Arrays.sort(countChar);
for (int i = 0; i < countChar.length; i++)
System.out.println("" + (char) ((countChar[i] & 0x7F)) + "\t" + (~countChar[i] >> 7));
}
}

84:デフォルトの名無しさん
10/05/27 21:18:16
【 課題 】URLリンク(rg550.hp.infoseek.co.jp)
【 形態 】1. Javaアプリケーション(main()で開始)/
【 期限 】5/30
【 Ver  】"1.6.0_20"
【 補足 】丸投げです。

85:デフォルトの名無しさん
10/05/28 00:08:30
>>84
URLリンク(rg550.hp.infoseek.co.jp)

86:デフォルトの名無しさん
10/05/28 00:23:27
【 課題 】下記参照ください。
【 形態 】1. Javaアプリケーション(main()で開始
【 期限 】今晩中の完成です。
【 Ver  】jdk1.6.0_13
【 補足 】javaのプログラム作成についてです。
条件分けの<if else>や繰り返しの<for>を組み合わせれば出来るのでしょうが、それがわかりません。
お知恵を貸してください。

内容:
数字を入力し、それが「偶数」なら

○○
□□□

奇数なら

□□
○○○

上記の3段の階段を作るプログラムを作成するのが課題です。
宜しくお願いします。



87:85
10/05/28 00:25:48
加算番号表を作る部分に余分なコードがあった
元のままでもコンパイルはできるし結果も変わらないけど
Integer n = additionInfo.put(ss[0], Integer.valueOf(ss[1]));

additionInfo.put(ss[0], Integer.valueOf(ss[1]));


88:デフォルトの名無しさん
10/05/28 00:55:40
>>86
import java.io.*;
public class Kaidan {
public static void main(String[] args) throws IOException {
System.out.print("整数を入力してください ");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
if (n < 0) n = -n;
char[] c = {'□', '○'};
for (int i = 0; i < 3; i++) {
for (int j = 0; j <= i; j++) System.out.print(c[(i + n) % 2]);
System.out.println();
}
}
}

89:デフォルトの名無しさん
10/05/28 01:16:07
>>88

出来ました!ありがとうございました!!




90:デフォルトの名無しさん
10/05/28 14:59:50
>>89
簡単な宿題ありがとうな

91:デフォルトの名無しさん
10/05/28 15:56:32
class Student {String name = null;
Kamoku[] kamoku = new Kamoku[5];
Student(String name, int kokugo, int suugaku, int eigo, int rika, int shakai) {
kamoku[0]=new Kamoku("国語",kokugo);
kamoku[1]=new Kamoku("数学",suugaku);
kamoku[2]=new Kamoku("英語",eigo);
kamoku[3]=new Kamoku("理科",rika);
kamoku[4]=new Kamoku("社会",shakai);
this.name=name;}
public String toString() {int sum=0;
String outs;
outs=name+"の";
for (int i=0;i<kamoku.length;i++){
outs+=kamoku[i]+"、";
sum+=kamoku[i].tensuu;}
outs+="平均は"+((double)sum/kamoku.length)+"点";
return outs;}}
public class KamokuHeikin {
public static void main(String[] args) {
Kamoku[] kamoku = {
new Kamoku("国語",63),new Kamoku("数学",90),
new Kamoku("英語",75),new Kamoku("理科",45),
new Kamoku("社会",81)};
int sum = 0;
for (int i = 0; i < kamoku.length; i++) {
System.out.println(kamoku[i]);
sum += kamoku[i].tensuu;}
double heikin = (double) sum / kamoku.length;
System.out.println("平均点は" + heikin + "点");}}
このふたつをStudent StudentHeikinとしてコンパイルするとKamokuのシンボルが見つかりませんとなりなぜかできない。
修正お願いします。よろしくお願いします。

92:デフォルトの名無しさん
10/05/28 16:27:13
>>91
>>1
・質問は【課題提示用テンプレ】を利用してください。
・エラーは、その詳細と発生した行を書きましょう。エラーメッセージはコピペしてください。

Kamokuクラスを定義してない。自分で定義(class Kamoku{・・・}})する必要がある

93:デフォルトの名無しさん
10/05/28 16:42:17
>>92
ありがとうございます。別ファイルでKamoku定義したところ動作確認できました。
今後気をつけます。

94:デフォルトの名無しさん
10/05/31 01:36:21
【 課題 】※出力結果
java Kadai3 1 2 3
わん
にゃー
ぶー

java Kadai3 2 1 1
にゃー
わん
わん

※条件
クラスは5つ
配列を使用

【 形態 】1. Javaアプリケーション(main()で開始)?
【 GUI  】
【 期限 】 火曜日に提出
【 Ver  】java version "1.6.0_16"
Java(TM) SE Runtime Environment (build 1.6.0_16-b01)
Java HotSpot(TM) Client VM (build 14.2-b01, mixed mode, sharing)

【 補足 】 なんか凄く初歩的で申し訳ない・・
自分なりに考えた結果のソースを上げときました
何か勘違いしてそうですが。
何かしら助け舟をくださるとありがたいです。
よろしくお願いします

URLリンク(rg550.hp.infoseek.co.jp)

95:デフォルトの名無しさん
10/05/31 02:14:01
>>94
// Kadai3.java
public class Kadai3 {
public static void main(String[] args) {
Naku[] naku = {new Dog(), new Cat(), new Pig()};
for (String s : args) naku[Integer.parseInt(s) - 1].nak();
}
}
// Naku.java
public interface Naku {
void nak();
}
// Dog.java
public class Dog implements Naku {
public void nak() {
System.out.println("わん");
}
}
// Cat.java
public class Cat implements Naku {
public void nak() {
System.out.println("にゃー");
}
}
// Pig.java
public class Pig implements Naku {
public void nak() {
System.out.println("ぶー");
}
}

96:デフォルトの名無しさん
10/05/31 02:24:09
拡張for文をまだ習ってないなら
for (int i = 0; i < args.length; i++) naku[Integer.parseInt(args[i]) - 1].nak();


97:デフォルトの名無しさん
10/05/31 02:32:21
>>95,96
こんな素早く答えがいただけるとは
有難うございます
下さった答えと参考書見比べて今からまた勉強してきます

拡張for文はまだ習ってないですね
多分今週・・かな?
本当にありがとうございました

98:デフォルトの名無しさん
10/06/01 18:57:36
【 課題 】MyBinTreeNode.javaのコードを補い、反復子による木のなぞりを完成させなさい。
      URLリンク(rg550.hp.infoseek.co.jp)
【 形態 】1. Javaアプリケーション(main()で開始)
【 GUI  】制限なし
【 期限 】6/4
【 Ver  】java version "1.6.0_20"
【 補足 】よろしくお願いします。

99:デフォルトの名無しさん
10/06/02 01:40:52
>>98
MyBinTreeNode.javaの「ここにコードを補う」の部分のみ
URLリンク(rg550.hp.infoseek.co.jp)
反復子が木をトラバースするための一時情報をノード側で持ってたら駄目じゃないかとは思うものの指定場所への追加のみならこんなものか
MyBinTreeのテストは動いてるし

100:デフォルトの名無しさん
10/06/02 02:00:21
あ、完全に間違えてるorz
>>99は無しということで

101:デフォルトの名無しさん
10/06/02 02:24:03
>>98
こちらでも確認できました。
ありがとうございました。

102:99
10/06/02 02:29:19
>>98
修正した
URLリンク(rg550.hp.infoseek.co.jp)

>>101
>>99は反復子が1個ずつノードを返すことなく一気にトラバースしてるので間違った回答
こちらの回答との表示の違いを見てみて

103:99
10/06/02 02:49:43
慌ててたのでまたミスったorz
>>102
MyBinTreeNode<E> next = null;
は不要コードなので削除して

>>99の何が間違っていたかというと
for(int i=0;iter.hasNext();i++)
System.out.print(i+":"+iter.next()+" ");
のiter.hasNext()の呼び出しの中でトラバースを全部やってfalseを返してた
だからfor文本体のSystem.out.printが1回も実行されてなかった

104:デフォルトの名無しさん
10/06/02 02:50:27
>>102
リロードしてませんでした・・・
確かにこちらが正しいですね。
重ね重ねありがとうございます。

105:デフォルトの名無しさん
10/06/02 03:25:18
>>103
また見落としてました・・・
なるほど、ちゃんとループしてなかったんですね。
勉強になりました。

106:デフォルトの名無しさん
10/06/02 16:12:15
【 課題 】プログラムを改良して、100個のボールの衝突を避けるようにする。
URLリンク(rg550.hp.infoseek.co.jp)
【 形態 】1. Javaアプリケーション(main()で開始)
【 期限 】6/5
【 Ver  】 1.6.0_18-b07
【 補足 】添付したテキストに説明がありますが、丸投げのような形になりすいません。
よろしくお願いします。



107:デフォルトの名無しさん
10/06/02 23:55:35
>>106
URLリンク(ideone.com)

もひとつ問題文が意味分からなかったけど,とりあえず。


108:デフォルトの名無しさん
10/06/03 23:36:43
【 課題 】ゲームを作る(横スクロールアクション)
【 形態 】1. Javaアプリケーション(main()で開始)
【 GUI  】4. 制限なし
【 期限 】6月17日
【 Ver  】1.6.0_13
【 補足 】敵(ピンク色の奴)の左右の絵の切り替えが上手く行かない。
dirの部分を弄れば良いというのは分かるのですが、上手く行きません。
よろしくお願いします。

URLリンク(rg550.hp.infoseek.co.jp)

109:デフォルトの名無しさん
10/06/04 17:03:08
【 課題 】いくつかの数の合計を取るプログラムを作ることにする。
個数を まず読み込んで、続いてその個数分の数を読み込んで合計を書き出すようにしよう。
たとえば、合計を求めたい個数が5であるとすると、まず 5を入力し、続いて 5つの数が続く。
その5つの数の合計を書き出すことになる。以下は例。 5
1
3
8
9
2
合計は 23

【 形態 】1. Javaアプリケーション(main()で開始)
【 期限 】6月5日
【 補足 】コマンドプロンプトから実行します、ガチ初心者なのでver、GUIについてはわかりませんでした、すいません

110:デフォルトの名無しさん
10/06/04 18:41:49
verが分からないと言っている件について。
「コンソール」の意味が分かってないの?

111:デフォルトの名無しさん
10/06/04 23:01:57
>>109
import java.io.*;
public class Count {
public static void main(String[] args) throws NumberFormatException, IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int sum=0,len= Integer.parseInt(br.readLine());
for (int i = 0; i <len; i++)sum+=Integer.parseInt(br.readLine());
System.out.println(sum);
}
}

112:デフォルトの名無しさん
10/06/05 22:15:49
【 課題 】ルンゲ・クッタ法4次公式を用いて惑星の軌道を表示せよ。
【 形態 】1. Javaアプリケーション(main()で開始)
【 GUI  】4. 制限なし
【 期限 】6/10(木)
【 Ver  】java version "1.6.0_20"
【 補足 】丸投げですがよろしくお願いします。

113:デフォルトの名無しさん
10/06/06 12:50:21
【 課題 】マインスイーパを作成せよ
【 形態 】1. Javaアプリケーション(main()で開始)
【 GUI  】1. AWTのみ
【 期限 】火曜日朝9時まで
【 Ver  】java version "1.6.0_04"
【 用語 】無し
【 補足 】出来れば大まかなコメントも入れてください。
よろしくお願いします。

114:デフォルトの名無しさん
10/06/06 13:31:53
>>112
数学かアルゴリズム的な惑星起動用の公式
>>113
丸投げ?

115:デフォルトの名無しさん
10/06/06 18:21:17
>>114
太陽と惑星だろうが地球と衛星だろうが同じなので描画のためのプログラムのベースは>>69の回答でいいんじゃないか
ただ>>69は一周期で軌道が閉じず安定してないので軌道計算部分でどんな運動方程式をどう解いてるのか知らんのだが
太陽の質量が惑星の質量より十分大きく惑星の運動だけを考えればいいのなら
太陽重力下の惑星の運動方程式から惑星軌道面上の直交直線座標系で太陽を原点とした時に
惑星の時刻tでの位置x(t)、y(t)と各軸方向の速度u(t)、v(t)の4変数1次微分方程式が立てられる
dx/dt = u
du/dt = - GM x / r^3
dy/dt = v
dv/dt = - GM y / r^3
万有引力定数G、太陽の質量M、太陽と惑星の距離r = √(x^2+y^2)
d*/dt = f(x,u,y,v)のようにどの変数もその1次微分を4変数の関数としてそれぞれ表せるのでルンゲクッタ法で近似解を出せる

>>69で4次4変数ルンゲクッタ法でコンソールに座標や速度の数値を出す形のプログラムを作って自分は満足したんでヒントだけ
>>114にまかせた

116:>>113
10/06/06 19:42:02
>>114
書き忘れてました。
8×8マスで造る事、地雷は8個、二次元配列を使うこと、そして全部空けたらクリアの文字を入れること。
ヒントは下のソースだけです。
import java.awt.*;
import java.awt.event.*;

public class Hint2 extends Frame{
Button b1,b2;
CardLayout c;
Panel p1;

public static void main(String[] args){
Hint2 h = new Hint2("Hint 2");
h.setComponent();
h.setVisible(true);
}
Hint2(String title){
super(title);
setSize(200,200);
}

117:>>113
10/06/06 19:43:16
void setComponent(){
b1=new Button("Hint");
b2=new Button("CardLayout");
c=new CardLayout();
p1=new Panel();
add(p1);
p1.setLayout(c);
p1.add("fron",b1);
p1.add("back",b2);
c.show(p1,"front");
b2.setBackground(Color.WHITE);
b1.addActionListener(new ButtonAction());
}

class ButtonAction implements ActionListener{
public void actionPerformed(ActionEvent evt){
c.show(p1,"back");
}
}
}


ヒントとして出されたのはこれで全部です。
よろしくお願いします。

118:114=71
10/06/06 19:52:44
>>115
コンソールverplz

119:デフォルトの名無しさん
10/06/06 21:59:40
>>118 定数は地球を回る衛星の場合 x,y,u,vの初期値は静止軌道に近い軌道要素 距離は100km単位、時間は1分単位 数値計算は単位時間の100分割で
public class Hoge {
public static final double GM = 3.98600e5 * 3.6e3 / 1e6; // 1min, 100km
public static void main(String[] args) {
double x = 4.2164e4 / 1e2;
double y = 0 / 1e2;
double u = 0 * 6e1 / 1e2;
double v = 3.07 * 6e1 / 1e2;
int N = 100; // division number of unit time
double d = 1.0 / N;
double d6 = d / 6;
for (int t = 0; t <= 60 * 24; t++) {
if (t % 60 == 0) System.out.printf("%4d %10.1f %10.1f %10.1f %10.5f %10.5f %10.5f%n", t, x, y, Math.hypot(x, y), u, v, Math.hypot(u, v));
for (int i = 0; i < N; i++) {
double p1 = u, q1 = v, f1 = hypot3(x, y), r1 = x * f1, s1 = y * f1;
double p2 = u + d * r1 / 2, q2 = v + d * s1 / 2, x2 = x + d * p1 / 2, y2 = y + d * q1 / 2, f2 = hypot3(x2, y2), r2 = x2 * f2, s2 = y2 * f2;
double p3 = u + d * r2 / 2, q3 = v + d * s2 / 2, x3 = x + d * p2 / 2, y3 = y + d * q2 / 2, f3 = hypot3(x3, y3), r3 = x3 * f3, s3 = y3 * f3;
double p4 = u + d * r3, q4 = v + d * s3, x4 = x + d * p3, y4 = y + d * q3, f4 = hypot3(x4, y4), r4 = x4 * f4, s4 = y4 * f4;
x += d6 * (p1 + 2 * p2 + 2 * p3 + p4);
y += d6 * (q1 + 2 * q2 + 2 * q3 + q4);
u += d6 * (r1 + 2 * r2 + 2 * r3 + r4);
v += d6 * (s1 + 2 * s2 + 2 * s3 + s4);
}
}
}
private static double hypot3(double x, double y) {
double r = Math.hypot(x, y);
return - GM / r / r / r;
}
}

120:デフォルトの名無しさん
10/06/07 16:35:01
【 課題 】コマンドプロンプト上で"1"と入力すると円を、"2"と入力すると長方形を、"3"と入力すると楕円を描画し、"end"と入力すると終了するプログラムを作れ。ただし、図形同士が重ならないように工夫すること。
【 形態 】2. Applet
【 GUI  】1. AWTのみ
【 期限 】06/07 22:00
【 Ver  】1.6.0_19
【 用語 】-
【 補足 】たとえば1,2,1,3,endと入力したらApplet上には図形が4つ並ぶことになります。また、図形のサイズ,色は問わないようです(ただ、"回"のようにはならず、"品"のようにずらして描くものと思われます)。
よろしくお願いします。

121:>>113
10/06/07 17:03:59
どなたか>>113お願いします・・・

122:デフォルトの名無しさん
10/06/07 20:25:19
>>112
GUI化した
URLリンク(ideone.com)

123:デフォルトの名無しさん
10/06/07 20:26:41
>>121
昔作ったマインスイーパー探し中
が、出てこないかも・・・

124:デフォルトの名無しさん
10/06/07 22:33:28

【 課題 】URLリンク(u3.getuploader.com)
      課題プリント(8枚)をデジカメで撮影したものです.
【 形態 】1. Javaアプリケーション(main()で開始)
【 期限 】6月16日(水)中です.
【 Ver  】1.6.0_20
【 補足 】全く分からずに丸投げです.ファイルアクセス等がポイントらしいのですが…
      お手数をおかけしますが,宜しくお願いします.


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

5217日前に更新/112 KB
担当:undef