public static void main(String[] args)
{
Scanner in= new Scanner(System.in);
String time= in.nextLine();
String arr[]=time.split(":");
// System.out.println(arr[0]);
String PM="P";
if(!(arr[2].charAt(2)).compareTo(PM)) //I get an error here
{
arr[0]+=12;
System.out.print(arr[0]+":"+arr[1]+":"+arr[2]);
}
if((arr[2].charAt(2)).compareTo(PM)!=0) //I get an error here
{
System.out.print(arr[0]+":"+arr[1]+":"+arr[2]);
}
}
请帮我删除错误! 我基本上要检查的是时间输入是AM还是PM。
答案 0 :(得分:0)
char
没有compareTo
方法 - 或任何方法,因为它是原始的。
您可以使用<
,>
和==
等关系运算符比较基元。
由于PM
是单字符字符串,您还可以将其类型更改为char:
char PM = 'P';
然后只需使用!=
进行比较,例如
if (arr[2].charAt(2) != PM) {
// .. whatever.
答案 1 :(得分:0)
.charAt()
返回char
,而char
的行为与较小int
的行为相同,请尝试使用此功能:
if(!(arr[2].charAt(2) == PM.charAt(0))) {
...
而不是:
if(!(arr[2].charAt(2)).compareTo(PM))