gpt4 book ai didi

java - 如何比较已转换为整数的字符串的值(大于/小于)?

转载 作者:行者123 更新时间:2023-12-01 11:02:56 25 4
gpt4 key购买 nike

因此,我必须编写一个代码,从用户那里获取 2 个日期(月/日/年),如果第一个日期小于第二个日期,则返回“true”。在任何其他情况下,日期将为“假”或“它们是相同的”。我被告知我不能要求用户执行指定的格式(即 mm/dd/yyyy),而我应该专注于“/”。

问题是,无论我输入什么,它总是返回“它们是相同的”答案。非常感谢任何提示和建议!我只是一个初学者程序员,所以我不确定出了什么问题。

代码如下:

    import java.util.Scanner;

public class Mari_WS15IsDateEarlier {

public static void main (String[] args) {

//initial variables, asks for variable input and determines month/day/year

Scanner dateInput = new Scanner(System.in);
String answr;

//splits string input into month, day and year
System.out.println("Enter a month, day, and year(separate with a slash) :");
String date1 = dateInput.next();
String[] splitStrings = date1.split("/");
String month1 = splitStrings[0];
String day1 = splitStrings[1];
String year1 = splitStrings[2];

System.out.println("Enter another month, day, and year (separate with a slash) :");
String date2 = dateInput.next();
String[] splitStrings2 = date1.split("/");
String month2 = splitStrings[0];
String day2 = splitStrings[1];
String year2 = splitStrings[2];

//turns string into integer for testing (greater than/less than)
int mn1 = Integer.parseInt(month1);
int mn2 = Integer.parseInt(month2);
int dy1 = Integer.parseInt(day1);
int dy2 = Integer.parseInt(day2);
int yr1 = Integer.parseInt(year1);
int yr2 = Integer.parseInt(year2);

//Determine if the set of variables is a geometric sequence
if (yr1 < yr2) {
answr = "true";
}
else if ((yr1 == yr2)&&(mn1 < mn2)) {
answr = "true";
}
else if ((mn1 == mn2)&&(dy1 < dy2)) {
answr = "true";
}
else if (dy1 == dy2) {
answr = "ERROR: Dates are identical.";
}
else {
answr = "false";
}

//Prints out the answer
System.out.println(answr);

最佳答案

很好的问题和很棒的代码!解决方案非常简单,从代码的外观来看,您只需复制 date1 并粘贴到 date2 即可。但是,您没有更改所有变量,因此代码将 date1date1 进行比较,因此出现错误。确保将 date1 更改为 date2,并将 splitStrings 更改为 splitStrings2

另外,只是针对您的代码的一点建议,我会再次查看相同的日期 if 语句,因为您只是比较天数。尝试 date1=1/2/2date2=2/2/2,您就会看到问题!

关于java - 如何比较已转换为整数的字符串的值(大于/小于)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33203643/

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