gpt4 book ai didi

java - 2处理代码,出现一条消息

转载 作者:太空宇宙 更新时间:2023-11-04 12:08:22 25 4
gpt4 key购买 nike

我几周前开始学习Java,我有一个任务要创建一个按钮,当你点击它时,你会被要求输入year 1,moth 1,day 1,year 2,moth 2,day 2,它会比较这两个日期,告诉你哪个更大我写了这段代码,它对我来说很完美..P.s我正在使用netbeans

String s=JOptionPane.showInputDialog(null,"Year 1");
String s2=JOptionPane.showInputDialog(null,"Month 1");
String s3=JOptionPane.showInputDialog(null,"Day 1");
String s4=JOptionPane.showInputDialog(null,"Year 2");
String s5=JOptionPane.showInputDialog(null,"Month 2");
String s6=JOptionPane.showInputDialog(null,"Day 2");
double y1=Double.parseDouble(s);
double m1=Double.parseDouble(s2);
double d1=Double.parseDouble(s3);
double y2=Double.parseDouble(s4);
double m2=Double.parseDouble(s5);
double d2=Double.parseDouble(s6);
if(y1>y2)
JOptionPane.showMessageDialog(null,"Date1 > Date2");
else if(y1<y2)
JOptionPane.showMessageDialog(null,"Date1 < Date2");
else if(y1==y2&&m1>m2)
JOptionPane.showMessageDialog(null,"Date1 > Date2");
else if(y1==y2&&m1<m2)
JOptionPane.showMessageDialog(null,"Date1 < Date2");
else if(y1==y2&&m1==m2&&d1>d2)
JOptionPane.showMessageDialog(null,"Date1 > Date2");
else if(y1==y2&&m1==m2&&d1<d2)
JOptionPane.showMessageDialog(null,"Date1 < Date2");
else if(y1==y2&&m1==m2&&d1==d2)
JOptionPane.showMessageDialog(null,"Date1 equal Date2");

现在我需要使这段代码更加智能,所以我编写了另一个代码,例如,如果有人为第 1 个月编写 13 .. 将出现一条消息,指出其无效日期,这是代码

if (d1<1||d1>31||m1<1||m1>12)
JOptionPane.showMessageDialog(null,"Invalid Date 1");
else if(m1==2&&d1>29)
JOptionPane.showMessageDialog(null,"Invalid Date 1");
else if((m1==4||m1==6||m1==9||m1==11)&&d1>30)
JOptionPane.showMessageDialog(null,"Invalid Date 1");
else if (d2<1||d2>31||m2<1||m2>12)
JOptionPane.showMessageDialog(null,"Invalid Date 2");
else if(m2==2&&d2>29)
JOptionPane.showMessageDialog(null,"Invalid Date 2");
else if((m2==4||m2==6||m2==9||m2==11)&&d2>30)
JOptionPane.showMessageDialog(null,"Invalid Date 2");

我的问题是当用户写两个日期时2005年13月20日/2005年10月20日我的两个代码一起响应..它同时告诉他“日期1>日期2”和“无效日期”我的问题是如何将第二个代码合并到第一个代码,以便当用户写入无效日期时,日期比较代码停止工作并且仅显示日期无效的消息?

抱歉,我花了你这么长时间才读到这篇文章,但我真的需要知道。

最佳答案

为什么不添加一个 boolean 值来标记日期是否无效。然后,您将比较有效日期的代码块包围在 if() block 中,该 block 仅在 boolean 值为 true 时才运行。例如,

boolean isValid = true;
//code checking for date validity goes here, set isValid to false when validity check fails
if (d1<1||d1>31||m1<1||m1>12) {
JOptionPane.showMessageDialog(null,"Invalid Date 1");
isValid = false;
}
...

if (isValid) {
if(y1>y2)
JOptionPane.showMessageDialog(null,"Date1 > Date2");
...
}

关于java - 2处理代码,出现一条消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40114117/

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