我正在尝试将一个If语句用于java。
我有 String startTime;
我想这样做06:00到9:59是一个高峰时间和其他一些时间,但我只想得到一个if语句正常工作
我用
*if (startTime >= "06:00" && startTime <= "9:59");*
我知道字符串不是那样的搜索,但教练告诉我,我们可以使用字符串来完成任务。我还被告知只使用main方法而不使用其他类
它出现了:
**the operator >= is undefined for the argument type(s) java.lang.String, java.lang.String**
答案 0 :(得分:1)
使用String.compareTo
来完成此任务。
if (startTime.compareTo("06:00")>0 && startTime.compareTo("09:59")<0) ...;
答案 1 :(得分:0)
首先,你应该将时间视为数字。 6:00将是6.00,9:59将是9.59。要这样做,请使用:
startTime = startTime.replace all(":", ".");
int startTimeInt = Integer.parseInt(startTime);
if (startTimeInt >= 6.00 && startTimeInt <= 9.59) {
// do stuff
}
只需更换&#34; //做东西&#34;当条件成立时发生的任何事情。
答案 2 :(得分:0)
将字符串分解为小时和分钟(使用String.split),然后将两者转换为整数(使用Integer.parseInt),然后比较很容易。
答案 3 :(得分:-1)
String是一个对象,它没有<=
和>=
等运算符。
您可以使用equals()
和equalsIgnoreCase()
方法比较两个字符串,否则您可以使用==
检查字符串的引用。
在您的情况下,因为您要比较两个字符串,除非将其转换为Java Date对象或Double对象,否则您将无法确定一个字符串是否大于其他字符串,否则您也可以使用compareTo()
方法