我正在尝试制作一个计算器应用程序(只是为了熟悉Android开发),但经过一些测试,我注意到从“String tack1”进行parseInt转换会导致应用程序崩溃。有人能告诉我原因吗?我似乎无法弄清楚,我已经在互联网上搜索了相当长的时间。(呵呵,我是新手,请大家多多包涵)在下面的代码中,我修改了几行以使其看起来明显应该打印什么,但它仍然会崩溃。以下是代码:
equals.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
oC = 1; //operator checker is on 1 (for plus)
switch(oC){ //check for operator clicked
case 0: break;
case 1:
tack1 = "1"; //INSERTED THIS TO MAKE OUTPUT OBVIOUS
tack1 = tack1.trim(); tack2 = tack2.trim(); //INSERTED BEFORE TO DEAL WITH WHITESPACE
numOne = Integer.parseInt(tack1); //CRASHES HERE
answer.setText(numOne);
modeChecker = 0; oC = 0;break;
程序注释(一些重复的注释和其他内容):
tack1 = "1"; 的作用是使输出明显
tack1.trim() 用于处理空格
tack 中包含的是一个整数(不是负整数)
numOne 是一个整数,已经在代码中定义(不在此处列出)
抱歉,缩进都乱了(在 case 1 之后),因为我加了注释
这是我的 onClick 方法的一部分,所以关闭括号不包括在这里。
有人能帮帮我吗?谢谢:D