当用户没有在输入语句中输入任何内容时,我遇到了错误。我想过使用 Try/Catch 块来代替抛出异常来将 boolAskRepeat 设置为 true,这应该跳到代码的末尾并重复循环。
这不起作用,我相信我遗漏了一些东西,但我不确定是什么......它仍然抛出异常说:
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 0
at java.lang.String.charAt(Unknown Source)
at ITSLab03.main(ITSLab03.java:34)
这行代码是什么:inputStatus = input.readLine().toLowerCase().charAt(0);
我在这里做错了什么?
while (boolAskStatus == true)
{
System.out.print("Employment Status (F or P): ");
try
{
inputStatus = input.readLine().toLowerCase().charAt(0);
if (inputStatus == "f".charAt(0))
{
boolAskStatus = false;
String stringCheckSalary = null;
boolean boolCheckSalary = true;
while (boolCheckSalary == true)
{
// some code
}
outputData(inputName, inputStatus, calculateFullTimePay(inputSalary));
}
else if (inputStatus == "p".charAt(0))
{
// some code
outputData(inputName, inputStatus, calculatePartTimePay(inputRate, inputHours));
}
else boolAskStatus = true;
}
catch (IOException e) { boolAskStatus = true; }
}