【发布时间】:2015-03-28 17:10:52
【问题描述】:
我正在做一个课程日期项目,用户输入日期并将日期输出为 3 种不同的格式。 a) 月/日/年 b) MonthName DD, YYYY c) DDD, YYYY(一年中的日期)。
我在某个时刻卡住了,输出 a 部分的结果。到目前为止我得到了什么
import java.util.Scanner;
public class Implementation
{
private static int month;
private static int day;
private static int year;
private static final int[] daysPerMonth = { 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
public static void Date(String args[])
{
Scanner input = new Scanner(System.in);
while(year != -1)
{
System.out.print("Enter month: ");
month = input.nextInt();
System.out.print("Enter day: ");
day = input.nextInt();
System.out.print("Enter year: ");
year = input.nextInt();
System.out.printf("\nMM/DD/YYYY: %d/%d/%d");
System.out.printf("\nMonth DD/YYYY: ");
System.out.println("\nDDD YYYY: \n");
}
}
public Implementation(int month, int day, int year)
{
if (month <= 0 || month > 12)
throw new IllegalArgumentException(
"month (" + month + ") must be 1-12");
if (day <= 0 | (day > daysPerMonth[month] && !(month == 2 && day == 29)))
throw new IllegalArgumentException
("day (" + day + ") out-of-range for the specified month and year");
if (month == 2 && day == 29 && !(year % 400 == 0 || (year % 4 == 0 && year % 100 != 0)))
throw new IllegalArgumentException
("day (" + day + ") out-of-range for the specified month and year");
this.month = month;
this.day = day;
this.year = year;
}
public String toString()
{
return String.format("%d/%d/%d", month, day, year);
}
}
我应该在System.out.printf("\nMM/DD/YYYY: %d/%d/%d"); 后面加上什么来显示结果(有效的月、日和年)。我还没有完成其他两个选项。我是初学者,对这个项目非常沮丧。有人帮忙吗?
【问题讨论】: