1.java把s里面空格删除_JAVA的程式改进,因为限制字数,所以把空格都删除了,语言有点乱? 爱问知识人...

这篇博客介绍了一个简单的Java Swing计算器应用,存在加法和减法操作的逻辑错误。用户输入“10-10-=”时,结果显示为-20,而非预期的0。博主意识到问题在于符号和数字输入的顺序处理不当,但尚未提供解决方案。博客中还提到了‘Reset’按钮用于复位,并给出了关于正确操作方式的提示。
摘要由CSDN通过智能技术生成

import javax.swing.*;import t.*;import t.event.*;public class Calculator extends JFrame implements ActionListener{ public stati

import javax.swing.*;import t.*;import t.event.*;public class Calculator extends JFrame implements ActionListener{ public static final int WIDTH = 700; public static final int HEIGHT = 200; public static final int NUMBER_OF_DIGITS = 30; private JTextField ioField; private double result = 0.0; public static void main(String[] args) { Calculator aCalculator = new Calculator(); tVisible(true); } public Calculator() { setTitle("Simplified Calculator"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setSize(WIDTH,HEIGHT); setLayout(new BorderLayout()); JPanel textPanel = new JPanel(); tLayout(new FlowLayout()); ioField= new JTextField("Enter numbers here",NUMBER_OF_DIGITS); tBackground(Color.WHITE); d(ioField); add(textPanel,BorderLayout.NORTH); JPanel labelPanel = new JPanel(); tBackground(Color.RED); tLayout(new FlowLayout()); JLabel label = new JLabel("注意:假设计算“10+10=20”,应该这么操作“10,+,10,+,=”;reset键为复位键。"); d(label); add(labelPanel,BorderLayout.SOUTH); JPanel buttonPanel = new JPanel(); tBackground(Color.BLUE); tLayout(new FlowLayout()); JButton addButton = new JButton("+"); dActionListener(this); d(addButton); JButton subButton = new JButton("-"); dActionListener(this); d(subButton); JButton equalButton = new JButton("="); dActionListener(this); d(equalButton); JButton resetButton= new JButton("Reset"); dActionListener(this); d(resetButton); add(buttonPanel,BorderLayout.CENTER); } public void actionPerformed(ActionEvent e) { try { assumingCorrectNumberFormats(e); } catch(NumberFormatException e2) { tText("Error:Reenter Number"); } } public void assumingCorrectNumberFormats(ActionEvent e) { String actionCommand = tActionCommand(); if(actionCommand.equals("+")) { result = result+stringToDouble( tText()); tText(""); } else if(actionCommand.equals("-")) { result = result-stringToDouble( tText()); tText(""); } else if(actionCommand.equals("=")) { tText( String(result));} else if(actionCommand.equals("Reset")) { result = 0.0; tText("0.0"); } else tText("Unexcepted error."); } private static double stringToDouble(String stringObject) { return rseDouble( im()); }}加法就像Label提醒的那样,而且减法是输入“10-10-=”结果是-20;我知道是因为符号和文本输入的顺序弄错了就是不知道怎么改。

展开

全部

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值