java计算器问题,报错说乘法那里是超过数组越界,但我的加法和乘法几乎一样为什么加法正确乘法报错?

publicvoidactionPerformed(ActionEvente){if(e.getSource()==bon){t.setText("欢迎使用");}if(... public void actionPerformed(ActionEvent e) {
if(e.getSource()==bon){
t.setText("欢迎使用");
}
if(e.getSource()==bclear){
t.setText(null);
}
if(e.getSource()==bshift){
Font f2=new Font("黑体",Font.BOLD,10);
t.append("shift");
t.setFont(f2);
bac.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e1) {
// TODO Auto-generated method stub
System.exit(0);
}
});
}
if(e.getSource()==b1){
t.append("1");
}
if(e.getSource()==b2){
t.append("2");
}
if(e.getSource()==b3){
t.append("3");
}
if(e.getSource()==b4){
t.append("4");
}
if(e.getSource()==b5){
t.append("5");
}
if(e.getSource()==b6){
t.append("6");
}
if(e.getSource()==b7){
t.append("7");
}
if(e.getSource()==b8){
t.append("8");
}
if(e.getSource()==b9){
t.append("9");
}
if(e.getSource()==b0){
t.append("0");
}
if(e.getSource()==bjia){
t.append("+");
fuhao="+";
}
if(e.getSource()==bjian){
t.append("-");
fuhao="-";
}
if(e.getSource()==bcheng){
t.append("*");
fuhao="*";
}
if(e.getSource()==bchu){
t.append("/");
fuhao="/";
}
if(e.getSource()==bdengyu){
if(fuhao.equals("+")){
String[] str=t.getText().split("[+]");
double a1=Double.parseDouble(str[0]);
double a2=Double.parseDouble(str[1]);
double zhi=a1+a2;
t.setText(String.valueOf(zhi));
}
if(fuhao.equals("-")){
String[] str=t.getText().split("[-]");
double a3=Double.parseDouble(str[0]);
double a4=Double.parseDouble(str[1]);
double zhi=a3-a4;
t.setText(String.valueOf(zhi));}
}
if(fuhao.equals("*")){
String[] str=t.getText().split("[*]");
double a5=Double.parseDouble(str[0]);
double a6=Double.parseDouble(str[1]);
double zhi=a5*a6;
t.setText(String.valueOf(zhi));
}
if(fuhao.equals("/")){
String[] str=t.getText().split("[/]");
double a7=Double.parseDouble(str[0]);
double a8=Double.parseDouble(str[1]);
if(a8==0){
t.setText("分母不能为0,请重新输入");
}
double zhi=a7/a8;
t.setText(String.valueOf(zhi));
}
if(e.getSource()==bdian){
t.append(".");
}
if(e.getSource()==bzuokuohao){
t.append("(");
}
if(e.getSource()==byoukuohao){
t.append(")");
}
if(e.getSource()==bfuhao){
t.append("-");
}
if(e.getSource()==bgenhao){
t.append("√");
}
if(e.getSource()==bpingfang){
t.append("^2");
}
if(e.getSource()==blifang){
t.append("^3");
}
if(e.getSource()==bsin){
t.append("sin(");
}
if(e.getSource()==bcos){
t.append("cos(");
}
if(e.getSource()==btan){
t.append("tan(");
}
if(e.getSource()==bans){
t.append("Ans=");
}
if(e.getSource()==bcifang){
t.append("*10^x");
}
if(e.getSource()==bdel){
try {
t.setText(t.getText().substring(0,t.getText().length()-1));
} catch (Exception e1) {
// TODO Auto-generated catch block
t.setText(null);
}
}
}
展开
 我来答
百度网友845f74e61
2011-12-22 · TA获得超过6929个赞
知道大有可为答主
回答量:4050
采纳率:50%
帮助的人:1652万
展开全部
把你出错的那个表达式贴出来。
现在的代码试了一下,没什么问题
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式