Java计算器正在崩溃
我正在制作这个非常酷的计算器应用程序。除了一件事,一切都正常。当用户按下一个无效的等式,例如1+,或5-,它就会崩溃。我的意思是我的崩溃是:当它说,对不起,计算器已经停止。我试着把它修好,但没用 爪哇: 这是我为解决问题而添加的一行:(但是,不起作用)Java计算器正在崩溃,java,Java,我正在制作这个非常酷的计算器应用程序。除了一件事,一切都正常。当用户按下一个无效的等式,例如1+,或5-,它就会崩溃。我的意思是我的崩溃是:当它说,对不起,计算器已经停止。我试着把它修好,但没用 爪哇: 这是我为解决问题而添加的一行:(但是,不起作用) 我是Java编程的初学者。我使用的是Android Studio。我猜您没有包含确切的错误,但是如果您的输入是1+,那么 retVal = expr.split("\\+"); 将返回一个字符串(不是两个),这意味着 retVal[1].le
我是Java编程的初学者。我使用的是Android Studio。我猜您没有包含确切的错误,但是如果您的输入是
1+
,那么
retVal = expr.split("\\+");
将返回一个字符串(不是两个),这意味着
retVal[1].length()
将导致异常,因为retVal[1]
不存在
为避免此错误,在调用split()
后,应检查retval
,查看它是否包含两个元素。如果没有,那么告诉你的用户他们的等式是无效的。比如说,
if (retVal.length != 2) {
// Tell the user ...
}
我猜您没有包含确切的错误,但是如果您的输入是
1+
,那么
retVal = expr.split("\\+");
将返回一个字符串(不是两个),这意味着
retVal[1].length()
将导致异常,因为retVal[1]
不存在
为避免此错误,在调用split()
后,应检查retval
,查看它是否包含两个元素。如果没有,那么告诉你的用户他们的等式是无效的。比如说,
if (retVal.length != 2) {
// Tell the user ...
}
你说“撞车”是什么意思?你有例外吗?堆栈跟踪?请在您的问题中包含这些内容,以便我们可以帮助您解决问题。此外,请先在
retVal=expr.split(…)
之后检查是否有2个条目;如果未拆分为2个(或更多)条目,则retVal[1]
将无效。例如if(retVal.length<2){//do error}
错误日志中有一些故障排除说明,可能是ArrayIndexOutOfBoundsException
以及发生故障的代码行号。然后,你会在那里设置一个断点,调试应用程序,并意识到retVal
在拆分后只有一个元素。“请尽快帮助我…”不。我正在努力帮助具有更好时间管理技能的人。如果你需要紧急帮助,你对我来说已经太晚了。当你说“崩溃”时,你是什么意思?你有例外吗?堆栈跟踪?请在您的问题中包含这些内容,以便我们可以帮助您解决问题。此外,请先在retVal=expr.split(…)
之后检查是否有2个条目;如果未拆分为2个(或更多)条目,则retVal[1]
将无效。例如if(retVal.length<2){//do error}
错误日志中有一些故障排除说明,可能是ArrayIndexOutOfBoundsException
以及发生故障的代码行号。然后,你会在那里设置一个断点,调试应用程序,并意识到retVal
在拆分后只有一个元素。“请尽快帮助我…”不。我正在努力帮助具有更好时间管理技能的人。如果你需要紧急帮助,你对我来说已经太晚了。那我该怎么做呢?你能给我代码吗?数组有一个length
属性,如retVal.length
中的属性。用它来检查分割后的元素数量。那么我该怎么做呢?你能给我代码吗?数组有一个length
属性,如retVal.length
中的属性。使用该选项检查拆分后的元素数。