質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

解決済

1回答

1363閲覧

カレンダーの月の値を変更することが可能か

ryoga4869

総合スコア17

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

0グッド

0クリップ

投稿2019/06/07 06:40

編集2019/06/07 06:48

今回の質問は下記のプログラムを実行すると
Insert Year , Monthと表記され2019 6 といれると
1月が0扱いになるので
2019年7月のカレンダーが表記されます。
このまま2019 6といれて、2019年6月のカレンダーを表記する方法はありますか?教えてください。

よろしくお願い致します。

import

1import java.lang.System; 2import java.util.Calendar; 3import java.util.Scanner; 4import static java.util.Calendar.YEAR; 5import static java.util.Calendar.MONTH; 6import static java.util.Calendar.DAY_OF_MONTH; 7import static java.util.Calendar.DAY_OF_WEEK; 8import static java.util.Calendar.SUNDAY; 9 10public class Calendar3 { 11 public static void main(String[] args) { 12 Calendar L00 = Calendar.getInstance(); 13 System.out.println("Insert Year and Month"); 14 15 Scanner sc = new Scanner(System. in); 16 17 int L01 = sc.nextInt(); 18 int L02 = sc.nextInt(); 19 20 L00.set(L01, L02, 1); 21 int L03 = L00.getActualMaximum(DAY_OF_MONTH); 22 int L04 = L00.get(DAY_OF_WEEK); 23 24 System.out.printf(" %d,%2d %n", L01, L02 + 1); 25 System.out.println(" S M T W T F S "); 26 27 int L06; 28 if (L04 < SUNDAY) { 29 L06 = (L04 + 7) - SUNDAY; 30 } else { 31 L06 = L04 - SUNDAY; 32 } 33 34 int L05 = 0; 35 36 for (int L07 = 0; L07 < L06; L07++) { 37 System.out.print(" "); 38 L05++; 39 } 40 41 for (int L08 = 1; L08 <= L03; L08++) { 42 if (L05 < 6) { 43 System.out.printf("%2d ", L08); 44 } else { 45 System.out.printf("%2d%n", L08); 46 } 47 L05 = ++L05 % 7; 48 } 49 } 50} 51コード

試したことは、ソースコードのL02の箇所に無理やりマイナスをつけようとしましたが上手くはいきませんでした。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

L00.set(L01, L02 - 1, 1); で可能では?


それはさておき、変数名を連番で付けるのは絶対にやめてください。
学習に著しく悪影響です。

しっかり意味を考えて、分かり易い名前を付けて下さい。

投稿2019/06/07 06:44

LouiS0616

総合スコア35660

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ryoga4869

2019/06/07 06:54

ありがとうございます。 変更することができました。 すみません、浅はかな知識なもので、、 変数名を連番でつけてしまうと何が何だかわからなくなってしまうからですか?
LouiS0616

2019/06/07 06:59

何が何だか分からなくなるのはもちろん、名前が適切に付けられない人は概して機能を適切に分割できないからです。 メソッドやクラスを使ってコーディングするようになるとその差が顕著に現れます。 命名は簡単なようで非常に難しく、大切なものです。 今のうちに少しでも慣れるようにして下さい。
ryoga4869

2019/06/07 07:01

わかりました。 今のうちに練習しておきます。 ありがとうございました(^^)
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問