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

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

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

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

Q&A

解決済

2回答

4047閲覧

Javaで曜日を出力することに関して

qq56952057

総合スコア1

Java

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

0グッド

0クリップ

投稿2021/07/08 13:45

編集2021/07/10 04:55

当日の曜日を出力したいです、しかしweekの定義方法が分からないです。助けてください。

Java

1import java.text.SimpleDateFormat; 2import java.util.Calendar; 3import java.util.Date; 4 5public class aaa { 6 private static String YOUBI; 7 8 public static void main(String[] args) { 9 10 Date d = new Date(); 11 Calendar c = Calendar.getInstance(); 12 13 String[] YOUBI = {"日","月","火","水","木","金","土"}; 14 15 Calendar cal = Calendar.getInstance(); 16 17 //cal.add(Calendar.YEAR,1); //1年後の日付 18 int i = cal.get(Calendar.DAY_OF_WEEK); 19 20 System.out.println(week[i]); 21 SimpleDateFormat format = new SimpleDateFormat("yy年M月dd日(" +YOUBI[week] + ") H時mm分"); 22 } 23}

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

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

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

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

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

m.ts10806

2021/07/08 13:48 編集

で、今のコードで何が問題ですか? weekという変数が定義されずにいきなり使われることくらいですかね。見た感じの謎
kazuma-s

2021/07/08 15:28

> 助けてください。 助けてあげますから、teratail の help をよく読んで質問を修正してください。
qq56952057

2021/07/10 04:57

ご返信ありがとうございます。初めての投稿なんて、不慣れな部分もありますが、プログラミングも初心者レベルで、謎だらけなものをいきなり投げ出してしまうかもしれません。ご容赦ください。
qq56952057

2021/07/10 04:59

助けてくださってありがとうございます!!嬉しいです!!
guest

回答2

0

ベストアンサー

質問の趣旨と異なるかもしれませんが・・・

”Javaで曜日を出力することに関して”だけについていえば
SimpleDateFormatで"E"を書式として使用すればよいです。

java

1System.out.println(new SimpleDateFormat("E").format(Calendar.getInstance().getTime()));

weekの定義方法

なぜ定義したいのか?
なにを定義したいのか?

week[i]

weekは配列なの?

YOUBI[week]

weekはintなの

の説明がないと答えられないのでは?

あと、ご存じかわかりませんが

Calendar.DAY_OF_WEEKで取得した値自体は、0~6でないので、ご注意ください。

https://docs.oracle.com/javase/jp/8/docs/api/constant-values.html#java.util

投稿2021/07/08 14:17

momon-ga

総合スコア4820

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

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

qq56952057

2021/07/10 05:29

質問はあいまいで申し訳ございません。weekを定義する理由としては、YOUBIを呼び出したかったです。ここでStringの配列にYOUBIデータを入れてみました。頂いたコードは一行で出力できて本当に凄いです!最後のURLについても調べてみましたが、自分の遠回しなやり方ですると、week[i-1]という書き方が必要ですね。肝心な所を教えてくださってありがとうございました!!
momon-ga

2021/07/10 05:42

質問のコードでいうと > YOUBIを呼び出したかった の部分を、YOUBI[week] としたかったという意味だと捉えると int i = cal.get(Calendar.DAY_OF_WEEK); を int week = cal.get(Calendar.DAY_OF_WEEK) - 1; に、したかったということかな? week[i-1] は、配列の参照をしようとしてるので、よくわかりません・・・ kazuma-sさんの回答の話であれば、YOUBIでなく > private static final String[] week = {"日","月","火","水","木","金","土"}; と、weekが配列として定義されているからなのですが・・・
qq56952057

2021/07/11 03:46

ごめんなさい!私の勘違いでした。おっしゃる通りで、int i = cal.get(Calendar.DAY_OF_WEEK); をint week = cal.get(Calendar.DAY_OF_WEEK) - 1; にしたかったです。 自分はkazuma-sさんの回答を正確に理解できずに鵜吞みにしてしまいました。 ご指摘ありがとうございます。
guest

0

Java

1import java.text.SimpleDateFormat; 2import java.util.Calendar; 3 4class Main { 5 private static final String[] week = {"日","月","火","水","木","金","土"}; 6 7 public static void main(String[] args) { 8 Calendar c = Calendar.getInstance(); 9 int i = c.get(Calendar.DAY_OF_WEEK); 10 SimpleDateFormat sdf = new SimpleDateFormat( 11 "yyyy年M月dd日(" + week[i-1] + ") H時mm分"); 12 System.out.println(sdf.format(c.getTime())); 13 } 14}

このコードについてコメントをお願いします。

投稿2021/07/08 15:29

編集2021/07/08 17:29
kazuma-s

総合スコア8224

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

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

qq56952057

2021/07/10 05:08

import java.text.SimpleDateFormat; import java.util.Calendar; public class aaa { private static final String[] week = {"日","月","火","水","木","金","土"};//定数weekを配列に定義する public static void main(String[] args) { Calendar c = Calendar.getInstance();//Calendarインスタンスを生成する int i = c.get(Calendar.DAY_OF_WEEK);//Calendarインスタンスから週のデータを取得する SimpleDateFormat sdf = new SimpleDateFormat( "yyyy年M月dd日(" + week[i-1] + ") H時mm分");//SimpleDateFormatインスタンス生成 System.out.println(sdf.format(c.getTime()));//データ出力 } } コードありがとうございます!!質問はあいまいで申し訳ございません。頂いているコードに自分なりにコメントを付けました。無事に出力もできて感謝を申し上げます!!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問