Java 计算器输出错误
我正在尝试计算器代码 我的设计链接 如果我的字符串s1值=2*5*7+1+4 在我的代码的这一部分中,如何在文本视图中获得结果Java 计算器输出错误,java,android,operators,calculator,Java,Android,Operators,Calculator,我正在尝试计算器代码 我的设计链接 如果我的字符串s1值=2*5*7+1+4 在我的代码的这一部分中,如何在文本视图中获得结果 s1 = (edt1.getText()+""); ArrayList<String> buffer = new ArrayList<String>(); String temp = ""; for (int j = 0; j
s1 = (edt1.getText()+"");
ArrayList<String> buffer = new ArrayList<String>();
String temp = "";
for (int j = 0; j < s1.length(); j++) {
if (Character.isDigit(s1.charAt(j)) || s1.charAt(j) == '.') {
char c1 = s1.charAt(j);
temp = temp + String.valueOf(c1);
}
if (s1.charAt(j) == '+' || s1.charAt(j) == '-' || s1.charAt(j) == '*' || s1.charAt(j) == '/') {
buffer.add(temp);
temp = "";
buffer.add(String.valueOf(s1.charAt(j)));
}
}
buffer.add(temp);
s1=(edt1.getText()+);
ArrayList缓冲区=新的ArrayList();
字符串temp=“”;
对于(int j=0;j
您的主要问题在这一行edt1.setText(edt1.getText()+s2)
和任何这样的行,(+)不是计算过程中放的,它是两个字符串之间的串联,因此您必须使s2 int而不是string,并像这样解析edittext中的文本Integer.parse(edt1.getText().tostring())到(+)将是2个数字之间的计算过程,而不是连接过程您正在连接字符串,请使用下面的内容
button7.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
edt1.setText(Interger.parseInt(edt1.getText().toString()) + Interger.parseInt(s7));
}
});
我否决了这个问题,因为这里的代码太多了。为了明确你的问题所在,请删除任何不直接导致你的问题的代码,如果你能把它减少到十行或更少,我会考虑撤回投票。看:我刚刚编辑了我的代码你能看到我的代码@JoeC吗