TODOS・何でも情報交換TOPから是非ご覧ください。
一番下の投稿フォームへ > スレッド一覧 > 記事閲覧
o6asanさんのJAVAトライ・その6
日時: 2013/09/25 07:04
名前: りり

また、なんですけど、for文のネストを使ってという要望

これは、ある月のカレンダーですが、次の問題で、平成25年度のカレンダーにアップするようです。

問題

一日の曜日をキーボードで入力で指定し、30日のある月のカレンダーを、繰り返しを用いて作成してください。余力があれば1ケタ目がそろうようにしてください。

実行例

問題//一日が日曜日なら0.月曜日なら1火曜日なら2.水曜日なら4.木曜日なら4.金曜日なら5..土曜日なら6.を入力せよ
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

<ヒント>一日の前は"¥t"のみを表示する。キーボードから入力された数字がyoubiだとすると、

for (int i=1; i <=days+youbi; i++){
if (i-youbi<=0)
System.out.println("¥t")
else 〜以下省略

という内容です。
メンテ

Re: o6asanさんのJAVAトライ・その6 ( No.1 )
日時: 2013/09/25 13:35
名前: o6asan

こことは,関係ないのだが,朝からサーバのエラーと格闘していた。
一昨日から,サーバのログに MySQL のテーブルがないというエラーメッセージが,
多数見受けられ,昨日発見後対処して,少しは良くなったんだけど,まだ完全でない。

で,Sample6.javaです。
http://o6asan.com/blog-j/files/JAVA/TODOS/Sample6.txt

多分,元の投稿が間違っているんだろうが,
> 一日が日曜日なら0.月曜日なら1火曜日なら2.水曜日なら4.木曜日なら4.金曜日なら5..土曜日なら6.を入力せよ

は「水曜日なら4.」ではなく,「水曜日なら3.」

> 1(と入力)

は,実行結果が日曜日開始の結果になっているので,「0(と入力)」だろう。

それから,前にもあったのだが,「for (int i=1; i <=days+youbi; i++){」
どうして,ここに型宣言を入れるんだろうか。ヒントが,ひっかけも含んでいるのかな。

==========================================================================================
この部分,訂正です。
for (int i = 1; i <= days + youbi; i++) {
で通ります。
私が,コンパイルしたときに何かまずいものが(例えば,全角空白),紛れ込んでいたようです。

再訂正です。
そのときのプログラムを確認してみたら, for (int i = 1; i <= days + youbi; i++) {} のように
for ループが空のときにエラーが出るようです。

再々訂正というか,追記。
http://o6asan.com/blog-j/files/JAVA/Sample2_1.txt は通るが,http://o6asan.com/blog-j/files/JAVA/Sample2_2.txt は通らない。
考えるに, JAVA のコンパイラは, for ループが空だと実質何も行わずに無視するのだろう。したがって,
インデックスの宣言と値代入が同位置だと, for ループが空の場合,そこが無視されているから,型宣言が行われて
いないことになって,あとの print 文の変数が未宣言になってエラーが出ると見ました。多分,これが正解でしょう。
したがって,通常は,インデックスの型宣言は for 文の中で構わないわけです。
==========================================================================================

本日は,\tとかprintf とか新しいのが出てきた。

> for文のネストを使ってという要望

for 自体のネストではないが,forの中に if のネストが入る形になった。

----------------------------------------------------------------------------------
動作確認は,jdk-7u40-nb-7_3_1-windows-i586.exeでやっています。

一応,動くプログラムは書いていますが,当面は,エラー回避ルーチン抜きで行きます。
また, JAVA の素人ですので,この書き方は JAVA らしくないというのがありましたら,
指摘してください。そこまでマニアックに書くつもりはありませんが,一応, JAVA の
方言にも通じるようにはなりたいと思っていますので。

よろしくお願いします。

この欄に,プログラムを貼ると,インデントが消えてしまいますので,上記のように
ファイルで,アップしています。

実際に,試してみようと思う方は,ダウンロードもできます。
ただし,拡張子をtxtにしてアップしてますので,これをjavaに変更後コンパイルしてください。
メンテ
Re: o6asanさんのJAVAトライ・その6 ( No.2 )
日時: 2013/09/25 19:06
名前: りり

>実行結果が日曜日開始の結果になっているので,「0(と入力)」だろう。

あっ、そうですね。これは、写し間違いではないと思うので、出題者の単純ミスかと思います。
メンテ
Re: o6asanさんのJAVAトライ・その6 ( No.3 )
日時: 2013/09/30 00:54
名前: りり

実行の動画を紹介します。
http://todos.xsrv.jp/uploader/upl/AGDRec6.wmv

これは、綺麗に並んで楽しいですね。
メンテ

楽しい交流と情報交換のTODOS・アップローダーも用意。ぜひTOPからもご覧ください。
ご参考になりましたら、お気軽に一筆お書き込みくださいませ。
題名 スレッドをトップへソート
名前
画像添付
JPEG
GIF
PNG



参照ボタンを押して、PCの画像を指定ください。3枚まで指定できます。縮小画像はクリックで拡大されます。
パスワード (好きなパスワードを。投稿後、右下のスパナマークをクリックし、そのパスワードを入れて修正できます。)
コメント

   クッキー保存
スレッドTOPへ***スレッド一覧