Re: o6asanさんのJAVAトライ・その7 ( No.1 ) |
- 日時: 2013/09/26 19:43
- 名前: o6asan
- > 1日一つでなくても、お忙しいときは、そのままにしておいてくださいね。
昨日は,サーバの世話の息抜きになってよかったです。
正直に言うと,1日に1つずつコツコツというのは,苦手です。 自ブログにも書いたことがありますが,興味を持ったときには,のめりこみます。で,ガーッとやって, そこそこのあたりまで行き着くころには,ボチボチ熱が冷めています。で,また,かなりほとぼりが 冷めたころになって,フッと,同じことに戻ってきたりします。
> ここも、for文のネストのやり方という要請
もう関係ないと思ってます。ヒントのところは,さらに引っかけの様相を帯びてきました。
それはさておき, 今日の問題文で,独自に解釈をしたところ。
1. 「平成25年度」 なにも注釈なしに年度を使うと,普通には公共機関の会計年度である。学校年度もこれに準じる。 しかし,「1月1日は火曜日であること」となっている。これは,平成25年の1月1日のことだろう。 というわけで,4月始まりの平成25年度のカレンダーではなく,1月始まりの平成25年のカレンダーを 作った。
2. 「前の月までの日数sum-days」関してのコードは,意味があるように思えなかったし,考え方も不要 部分が多いように思えた。sumというパラメータ名は,合計を出す作業を意味するのだろうが,monthを 指定して当該月のカレンダーを出すのに,無駄な演算が多い気がする。
ということで, switch(month){ case 1:sum=0;days=31;break; case 2:sum=31;days=28;break; case 3:sum=59;days=31;break; case 4:sum=90;days=30;break; case 5:sum=120;days=31;break; case 6:sum=151;days=30;break; case 7:sum=181;days=31;break; case 8:sum=212;days=31;break; case 9:sum=243;days=30;break; case 10:sum=273;days=31;break; case 11:sum=304;days=30;break; case 12:sum=334;days=31;break; } のようにあっさり行くことにした。
Sample7.javaです。 http://o6asan.com/blog-j/files/JAVA/TODOS/Sample7.txt
今回は,前回の応用問題にあたるというりりさんの一言があったので,Sample6.javaのメイン部分を メソッドMonth()として流用した。 参) http://ja.wikipedia.org/wiki/%E3%82%B5%E3%83%96%E3%83%AB%E3%83%BC%E3%83%81%E3%83%B3
---------------------------------------------------------------------------------- 動作確認は,jdk-7u40-nb-7_3_1-windows-i586.exeでやっています。
一応,動くプログラムは書いていますが,当面は,エラー回避ルーチン抜きで行きます。 また, JAVA の素人ですので,この書き方は JAVA らしくないというのがありましたら, 指摘してください。そこまでマニアックに書くつもりはありませんが,一応, JAVA の 方言にも通じるようにはなりたいと思っていますので。
よろしくお願いします。
この欄に,プログラムを貼ると,インデントが消えてしまいますので,上記のように ファイルで,アップしています。
実際に,試してみようと思う方は,ダウンロードもできます。 ただし,拡張子をtxtにしてアップしてますので,これをjavaに変更後コンパイルしてください。
|
Re: o6asanさんのJAVAトライ・その7 ( No.2 ) |
- 日時: 2013/09/26 20:51
- 名前: りり
- おぉー、なかなかプログラムらしくなってきましたねーーー
では、あと少しで終わりです。質問回数はたくさんあったのだけど、重複が多くて…
この次が別スレッドにあった
(実行結果) 整数を入力してください: 12 演算子(+|-|*|/)を入力してください: + 整数を入力してください: 5 12 + 5 = 17 終了しますか?(y|n): n 整数を入力してください: 20 演算子(+|-|*|/)を入力してください: - 整数を入力してください: 5 20 - 5 = 15 終了しますか?(y|n): n 整数を入力してください: -2 演算子(+|-|*|/)を入力してください: * 整数を入力してください: 3 -2 * 3 = -6 終了しますか?(y|n): n 整数を入力してください: 10 演算子(+|-|*|/)を入力してください: / 整数を入力してください: 3 10 / 3 = 3...1 終了しますか?(y|n): y 終了しました。
の問題と
次のこちらには、回答が書かれなかったけど、すでにo6asanさんが回答を考えられた問題なのですが、順序よくなるようスレッドを立てておきます。 転記いただけると有り難いです。
|
Re: o6asanさんのJAVAトライ・その7 ( No.3 ) |
- 日時: 2013/09/30 00:59
- 名前: りり
- 実行の動画を紹介します。
http://todos.xsrv.jp/uploader/upl/AGDRec7.wmv
6の発展になりますが、カレンダーの問題は、JAVAの演習に良く出てくるようです。
これをさらに発展させれば、20××年、一年分とか、できるのかな?
|