gpt4 book ai didi

java - 如何使用 JOption 从对象类在应用程序上输入公历

转载 作者:行者123 更新时间:2023-12-02 10:31:05 25 4
gpt4 key购买 nike

对象类别

public Association(String assoName, String Abbrv, GregorianCalendar formDate, Student president)
{
this.assoName = assoName;
this.abbrv = abbrv;
this.formDate = formDate;
this.president = president;
}

应用程序类

String assoName = JOptionPane.showInputDialog("Association Name: ");
pw.println(assoName);
String abbrv = JOptionPane.showInputDialog("Association's Abbreviation");
pw.print(","+abbrv);
GregorianCalendar formDate = JOptionPane.showInputDialog("Association Formation Date (dd/mm/yyyy) ");
SimpleDateFormat dateFormat = new SimpleDateFormat("dd/mm/yyyy");

你能帮我做一下这个程序吗T_T我无法更改任何内容,因为它是针对我的项目的,并且已经由我的教授设置了。

最佳答案

how to change to LocalDate and DateTimeFormatter from GregorianCalender?

如果可以,请将 Association 类中的 GregorianCalendar formDate 更改为 LocalDate formDate

无论如何,用于从用户读取形成日期的单参数 JOptionPane.showInputDialog 返回一个 String,因此我建议您将其读入一个 String 变量,例如 formationDateString,然后将其解析为 LocalDate。像这样的东西:

    DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern("d/M/u");
String formationDateString = JOptionPane.showInputDialog("Association Formation Date (dd/mm/yyyy) ");
try {
LocalDate formDate = LocalDate.parse(formationDateString, dateFormatter);
} catch (DateTimeParseException dtpe) {
JOptionPane.showMessageDialog(null, "Invalid date format",
"id frn’s app", JOptionPane.ERROR_MESSAGE);
}

如果您无法更改 Association 构造函数,请在解析后将 LocalDate 转换为 GregorianCalendar:

        ZonedDateTime startOfDay = formDate.atStartOfDay(ZoneId.systemDefault());
GregorianCalendar formDateGregCal = GregorianCalendar.from(startOfDay);

如果你的意思是你的教授坚持使用设计糟糕且过时的GregorianCalendar(更不用说臭名昭著的麻烦SimpleDateFormat),你可能想要不过,请检查是否可以使用现代且更好的替代方案(并随时在此处引用我的话)。

关于java - 如何使用 JOption 从对象类在应用程序上输入公历,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53609059/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com