这是我"添加"中的代码。我的计算器的按钮。我在某些数据类型验证中遇到问题: 例: 9.2 + 3.2 = 12.4,这样我的计算器工作正常。 但如果你首先输入整数像这样: 9 + 3.2,结果只有3.2。 如果第二个值存在小数,你怎么认为我可以解析第一个值?
private void btn_AddActionPerformed(java.awt.event.ActionEvent evt) {
//FOR DOUBLE CALCULATION
if(ta_DisplayField.getText().contains(".") || c_History.contains(".")){
c_Operator = '+';
c_Container = "+";
c_History = c_History + "+";
ta_History.setText(c_History);
c_totalDouble = (double)c_totalInt + Double.parseDouble(ta_DisplayField.getText());
ta_DisplayField.setText(c_totalDouble + "");
}
}
//FOR INTEGER CALCULATION
else{
c_Operator = '+';
c_Container = "+";
c_History = c_History + "+";
ta_History.setText(c_History);
c_totalInt = c_totalInt + Integer.parseInt(ta_DisplayField.getText());
ta_DisplayField.setText(c_totalInt + "");
}
}
}
答案 0 :(得分:0)
你正在重新发明灯泡。解决方案更简单:
String s = "9 + 3.2";
String[] split = s.split("\\+");
Double result = Arrays.stream(split).mapToDouble(Double::parseDouble).sum();
System.out.println(result);