搜索字符串一段时间。 Java的

时间:2014-06-25 14:07:44

标签: java compiler-errors

我正在尝试将一个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**

4 个答案:

答案 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()方法