数値を入力として取り、月と日付を出力として出力するコードが必要です。例えば、数字から月の名前を取得する方法
ユーザー入力:33 出力:2月2日
は、誰かが私はこの問題にロジックを理解するのに役立ちます。次のよう
数値を入力として取り、月と日付を出力として出力するコードが必要です。例えば、数字から月の名前を取得する方法
ユーザー入力:33 出力:2月2日
は、誰かが私はこの問題にロジックを理解するのに役立ちます。次のよう
あなたは今年の第33日を設定するためにあなたの日付とwithDayOfYear(int dayOfYear)
をフォーマットするDateTimeFormatter
を使用することができ、::
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MMMM d");
System.out.println(LocalDate.now().withDayOfYear(33).format(formatter));
または@Tunakiによって提案されたよう
System.out.println(Year.now().atDay(33).format(formatter));
出力
February 2
'Year.now()。atDay(33)'、より直接的。 – Tunaki
@Tunaki thx入力用 –
代替yは、うるう年ではないと仮定して、次のように使用できます。
package com.company;
public class Main {
public static void main(String[] args) {
String[] months = {"Jan.", "Feb.", "Mar.", "Apr.", "May", "Jun.", "Jul.", "Aug.", "Sep.", "Oct.", "Nov.", "Dec."};
int[] daysinMonth = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int n = 33; // the input value
int i = 0;
n = n % 365;
while (n > daysinMonth[i]) {
n -= daysinMonth[i];
i++;
}
System.out.println(months[i] + " " + n);
}
}
33は2月にどのように関連しますか? 33はその年の日を表していますか? – Tunaki
最初に知る必要があるのは、「33」が「2月2日」を意味する方法です。その変換ロジックを定義すると、そのロジックを実行するコードの作成を開始できます。 (注:日付/時刻ライブラリがあります。おそらくあなた自身ではなく、非常に役に立つでしょう。日付は* hard *です。) – David
'60'の出力は何ですか? '2月29日'または '火星1'? – Gendarme