【发布时间】:2011-12-08 20:10:33
【问题描述】:
我一直在尝试制作一个用户可以设置的时钟。我希望用户被问到问题,他们用“是”或“否”之类的词来回答。我已经为使用此代码不会更改的事情完成了它,例如用户是否想要显示秒数,但是当我想要更改字符串时它不起作用,比如从 AM 到 PM当小时超过 12 时。这是我正在使用的:
System.out.println("AM or PM?");
Scanner TimeOfDayQ = new Scanner(System.in);
TimeOfDayStringQ = TimeOfDayQ.next();
if(!TimeOfDayStringQ.equals("AM") || !TimeOfDayStringQ.equals("PM")) {
System.out.println("Sorry, incorrect input.");
System.exit(1);
}
...
if(Hours == 13){
if (TimeOfDayStringQ.equals("AM")) {
TimeOfDayStringQ.equals("PM");
} else {
TimeOfDayStringQ.equals("AM");
}
Hours = 1;
}
}
每当我输入任何提示时,无论我输入 AM、PM 还是其他方式,它都会给我写的错误然后退出。当我删除因错误终止程序的代码部分时,它不会在小时等于 13 时将字符串从 AM 更改为 PM。感谢您的帮助,非常感谢。
【问题讨论】:
-
作为观察,为避免混淆,java 变量应该以小写字母开头。
标签: java string time if-statement user-input