我正在尝试制作一个计算器,用户在一行中输入数据,然后在按“=”时计算结果。但是,我不知道如何接收为计算输入的数据。 1)我是否接受整个字符串并计算它(这意味着android必须能够区分诸如+和 - 之类的符号) 2)或者在用户输入数字时逐个接收数据。 到目前为止,我有这个:
public void onClickButton (View view)
{
if (view.getId() == (R.id.Button01)){
txtView1.append("7");
} else if (view == findViewById(R.id.Button02)){
txtView1.append("8");
} else if (view == findViewById(R.id.Button03)){
txtView1.append("9");
} else if (view == findViewById(R.id.Button04)){
txtView1.append("/");
} else if (view == findViewById(R.id.Button05)){
txtView1.append("4");
} else if (view == findViewById(R.id.Button06)){
txtView1.append("5");
} else if (view == findViewById(R.id.Button07)){
txtView1.append("6");
} else if (view == findViewById(R.id.Button08)){
txtView1.append("+");
} else if (view == findViewById(R.id.Button09)){
txtView1.append("1");
} else if (view == findViewById(R.id.Button10)){
txtView1.append("2");
} else if (view == findViewById(R.id.Button11)){
txtView1.append("3");
} else if (view == findViewById(R.id.Button12)){
txtView1.append("-");
}
}
这会使文本以一个字符串形式出现 例如:“5 + 45”
答案 0 :(得分:0)
您需要将textview中的表达式从INFIX转换为POSTFIX。 之后,您需要对获得的POSTFIX表达式进行评估