gpt4 book ai didi

java - 为什么我没有收到正确的返回消息?

转载 作者:行者123 更新时间:2023-12-01 06:28:49 26 4
gpt4 key购买 nike

下面有一段我无法工作的代码。我在主方法中获取输入,然后将该输入传递到另一个方法中以检查验证。但它并没有真正检查正确。如果我输入99对于 monthday我希望它能给我消息 Check Month

相反,我得到: THIS
THIS

如果我输入02月份和 99今天,我希望它给我消息:Check day 。相反,我得到 THIS THIS

如果我输入02对于这两者,我希望它能够运行并继续运行其他方法。相反,我得到 THIS THIS .

public class Date {

private Calendar parsedDate;

public static void main(String[] args)
{
Date main = new Date();
System.out.println("Enter a date (use the format -> (MM/DD/YYYY)");

//declare Scanner
Scanner in = new Scanner (System.in);

System.out.println("Enter a month (MM): ");
String month = in.nextLine();

System.out.println("Enter a day (DD): ");
String day = in.nextLine();

System.out.println("Enter a year (YYYY): ");
String year = in.nextLine();

if (main.isValidDate(month, day, year) == true)
{
main.newFormat(month, day, year);
main.isLeapYear(year);
main.dayNumber(month, day);
}
else if (main.isValidDate(month, day, year) == false)
{
System.out.println("Invalid Input");
}
}//end of main

private boolean isValidDate(String month, String day, String year)
{
//check month
if(month == "01" || month == "03" || month == "04" ||
month == "05" || month == "06" || month == "07" || month == "08" ||
month == "09" || month == "10" || month == "11" || month == "12")
{
//check day
if(day == "01" || day == "02" || day == "03" || day == "04" ||
day == "05" || day == "06" || day == "07" || day == "08" ||
day == "09" || day == "10" || day == "11" || day == "12" ||
day == "13" || day == "14" || day == "15" || day == "16" ||
day == "17" || day == "18" || day == "19" || day == "20" ||
day == "21" || day == "22" || day == "23" || day == "24" ||
day == "25" || day == "26" || day == "27" || day == "28" ||
day == "29" || day == "30" || day == "31")
{
return true;
}
else
{
System.out.println("Check Day");
return false;
}
}//end of check month
else if (month == "02")
{
if (day == "28" || day == "29")
{
return true;
}
}//end of month 2
else
{
System.out.println("THIS");
return false;
}

parsedDate = null;// if it's valid set the parsed Calendar object up.
return true;
}//end of isValidDate

最佳答案

您应该使用 equals 方法来比较字符串。使用 == 运算符时,您比较的是字符串的地址,而不是它们的内容。

关于java - 为什么我没有收到正确的返回消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15779826/

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