刚学java,自己学写了一个计算器,但有问题啊

my1608514296 2013-03-08 09:33:30
if (e.getSource()==button3) //按钮+
{
i=3;
item1=Double.parseDouble(text.getText().trim());
text.setText("");
}


else if(e.getSource()==button5) //按钮=
{
item2=Double.parseDouble(text.getText().trim());
switch(i)
{
case 1:sum=item1+item2;break;
case 2:sum=item1-item2;break;
case 3:sum=item1*item2;break;
case 4:sum=item1/item2;break;
}
text.setText(""+sum);
}

为什么程序第五行text.setText(""),我把它改为text.setText("+")就错了呢,想让它在计算的时候显示加减乘除的符号如何显示啊!
...全文
249 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
my1608514296 2013-03-10
  • 打赏
  • 举报
回复
else if(e.getSource()==button2) { i=2; item1=Double.parseDouble(text.getText().trim()); text.setText(""); } 就该了一点,减法就运行部出来了,大家看一下这是什么原因吧! else if(e.getSource()==button2) { i=2; item1=Double.parseDouble(text.getText().trim()); text.setText("-"); }
my1608514296 2013-03-09
  • 打赏
  • 举报
回复
运行的时候出错的,就是在计算的时候如何让它显示符号,现在计算的时候看不到符号
if (e.getSource()==(button1))
{
i=1;
item1=Double.parseDouble(text.getText().trim());
text.setText("+"); //为什么这里的+号可以,下面的-*/就不行了
}
else if(e.getSource()==button2)
{
i=2;
item1=Double.parseDouble(text.getText().trim());
text.setText("-");//这样运行时就错了

}
else if (e.getSource()==button3)
{
i=3;
item1=Double.parseDouble(text.getText().trim());
text.setText("*"); //这样也是
}
else if (e.getSource()==button4)
{
i=4;
item1=Double.parseDouble(text.getText().trim());
text.setText("÷");}
这一点改如何修改才能让它显示符号啊
失落夏天 2013-03-08
  • 打赏
  • 举报
回复
错误应该不在你发的这段里面 +是不用转移的。
nangeheiseyoumo 2013-03-08
  • 打赏
  • 举报
回复
private JButton[] operateB; // 操作符面板 operateB = new JButton[8]; operateB[0] = new JButton("+");
wenhaoxp1987 2013-03-08
  • 打赏
  • 举报
回复
把代码都贴出来吧,也许在显示按钮处理上有问题报的第一个就是+号的问题
yyw6637 2013-03-08
  • 打赏
  • 举报
回复
引用 2 楼 wenhaoxp1987 的回复:
要转义的,text.setText("\\+")
我也是这么想的,但是亲自试了下,不用转义
wenhaoxp1987 2013-03-08
  • 打赏
  • 举报
回复
要转义的,text.setText("\\+")
yyw6637 2013-03-08
  • 打赏
  • 举报
回复
你敢不敢把错误信息帖出来
  • 打赏
  • 举报
回复
编译的时候出错还是运行的时候 如果是运行的时候 把日志发出来
nai598455803 2013-03-08
  • 打赏
  • 举报
回复
试了一下,没发现什么错误啊
my1608514296 2013-03-08
  • 打赏
  • 举报
回复
package com.counter; import java.awt.*; import java.awt.event.*; import javax.swing.*; @SuppressWarnings("serial") public class Counter extends JFrame implements ActionListener { double item1=0,item2=0; double sum; int i; JFrame jframe=new JFrame("计算器"); JPanel panel1=new JPanel(); JPanel panel2=new JPanel(); JTextField text=new JTextField("0",14); JButton button4=new JButton("÷"); JButton button5=new JButton("="); JButton button6=new JButton("c"); JButton button1=new JButton("+"); JButton button2=new JButton("-"); JButton button3=new JButton("*"); JButton button[]=new JButton[10]; public void set() { jframe.setBounds(500,200,170,170); jframe.setLayout(new BorderLayout()); jframe.setResizable(false); jframe.add(panel1); jframe.add(panel2); panel1.add(text); panel2.setLayout(new GridLayout(4,4)); jframe.add(panel1,BorderLayout.NORTH); jframe.add(panel2,BorderLayout.SOUTH); button[0]=new JButton("0"); button[1]=new JButton("1"); button[2]=new JButton("2"); button[3]=new JButton("3"); button[4]=new JButton("4"); button[5]=new JButton("5"); button[6]=new JButton("6"); button[7]=new JButton("7"); button[8]=new JButton("8"); button[9]=new JButton("9"); panel2.add(button[7]); panel2.add(button[8]); panel2.add(button[9]); panel2.add(button1); panel2.add(button[4]); panel2.add(button[5]); panel2.add(button[6]); panel2.add(button2); panel2.add(button[1]); panel2.add(button[2]); panel2.add(button[3]); panel2.add(button3); panel2.add(button[0]); panel2.add(button6); panel2.add(button5); panel2.add(button4); button[7].addActionListener(this); button[8].addActionListener(this); button[9].addActionListener(this); button[4].addActionListener(this); button[5].addActionListener(this); button[6].addActionListener(this); button[1].addActionListener(this); button[2].addActionListener(this); button[3].addActionListener(this); button[0].addActionListener(this); button1.addActionListener(this); button2.addActionListener(this); button3.addActionListener(this); button4.addActionListener(this); button5.addActionListener(this); button6.addActionListener(this); text.addActionListener(this); jframe.setVisible(true); } public void actionPerformed(ActionEvent e) { if (e.getSource()==(button1)) { i=1; item1=Double.parseDouble(text.getText().trim()); text.setText("+"); } else if(e.getSource()==button2) { i=2; item1=Double.parseDouble(text.getText().trim()); text.setText(""); } else if (e.getSource()==button3) { i=3; item1=Double.parseDouble(text.getText().trim()); text.setText(""); } else if (e.getSource()==button4) { i=4; item1=Double.parseDouble(text.getText().trim()); text.setText("\\÷"); } else if(e.getSource()==button5) { item2=Double.parseDouble(text.getText().trim()); switch(i) { case 1:sum=item1+item2;break; case 2:sum=item1-item2;break; case 3:sum=item1*item2;break; case 4:sum=item1/item2;break; } text.setText(""+sum); } else if (e.getSource()==button6) { item1=0; item2=0; String s=""; s=s+"0"; text.setText(""+s); } else { //JButton button=(JButton)e.getSource(); //String s=""; //s=s+button.getText(); //text.setText(s); for (int i=0;i<10;i++) { if (e.getSource()==button[i]) { text.setText((text.getText())+i); } } } } public static void main(String[] args) { Counter counter=new Counter(); counter.set(); } } 没写注释,相信大家应该都能看懂吧,程序还没有些功能还没完成,像除法,但已经出现些问题了,所以打算先改进再接着考虑除法的问题。 大家有空看一下吧,麻烦了! 由于还在上课,回复晚了,对不住各位了!

23,407

社区成员

发帖
与我相关
我的任务
社区描述
Java 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧