亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我做的java簡易計算機為什么等于輸出不來結果,代碼如下

我做的java簡易計算機為什么等于輸出不來結果,代碼如下

慕運維6388425 2016-11-18 08:14:54
main方法public class main{ public static void main(String []args){ calculator ca = new calculator(200,200,200,250); }}calculate類import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JMenu;import javax.swing.JMenuBar;import javax.swing.JMenuItem;import javax.swing.JOptionPane;import javax.swing.JTextField;import com.sun.glass.ui.Clipboard;public class calculator extends JFrame implements ActionListener { JMenuBar myJMenuBar; JMenu menu ,menu2,menu3; JMenuItem item,item2,item3, item4,item5,item6; //上面定義菜單的 String num1;//定義加數,減數。就是第一個運算數 String syb;//定義運算符號,我的思路是匹配這個運算符號,符合哪個用那個運算法則 JTextField inputField; JButton[] NumButton;//數字鍵 JButton[] symbol;//符號鍵 calculator(int width,int length,int x,int y){//畫窗體 super("簡單計算機"); setLayout(new FlowLayout()); setBounds(width,length,x,y); init(); setVisible(true); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); ? } private void init() {//加組件 myJMenuBar=new JMenuBar(); menu = new JMenu("編輯"); menu2 = new JMenu("幫助"); menu3 = new JMenu("關于我們"); item = new JMenuItem("清空"); item2 = new JMenuItem("撤銷"); item3= new JMenuItem("復制"); item4= new JMenuItem("作者"); item5= new JMenuItem("版本"); item6= new JMenuItem("制作日期"); item.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ inputField.setText(""); } }); item3.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ calculator.setSystemClipboard(inputField.getText()); } }); item4.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ JOptionPane.showMessageDialog(null, "作者:----", "作者信息", JOptionPane.ERROR_MESSAGE); } }); item5.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ JOptionPane.showMessageDialog(null, "版本:1.0", "版本信息", JOptionPane.ERROR_MESSAGE); } }); item6.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ JOptionPane.showMessageDialog(null, "制作日期:11.17.2016", "制作信息", JOptionPane.ERROR_MESSAGE); } }); menu.add(item); menu.add(item2); menu.add(item3); menu3.add(item4); menu3.add(item5); menu3.add(item6); myJMenuBar.add(menu); myJMenuBar.add(menu2); myJMenuBar.add(menu3); setJMenuBar(myJMenuBar); //上面都是菜單組件和他們方法的添加 inputField =new JTextField(13); inputField.setHorizontalAlignment(JTextField.RIGHT); inputField.setBackground(Color.WHITE); inputField.setCaretColor(Color.WHITE); add(inputField); //顯示屏的添加 NumButton = new JButton[10]; int i; for(i= 0;i<NumButton.length;i++){ String Num =i+""; NumButton[i]=new JButton(Num); NumButton[i].addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e) {//這個方法是為了實現在顯示屏追加數字的 String str = inputField.getText(); inputField.setText(str+Num); } }); add(NumButton[i]); } //數字鍵的添加 symbol= new JButton[6]; symbol[0]= new JButton("+"); symbol[1]= new JButton("-"); symbol[2]= new JButton("*"); symbol[3]= new JButton("/"); symbol[4]= new JButton("="); symbol[5]= new JButton("退格"); //符號按鈕聲明 symbol[0].addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ num1=inputField.getText();//獲取第一個運算數 syb ="+";//符號設置為加號 inputField.setText("");//點擊了加號按鈕后顯示屏清空為了輸入第二個運算數 symbol[4].addActionListener(this);//給等于號添加事件,讓等于號獲取第二個數,匹配符號,與第一個數運算 } }); //下面的方法分別是減法乘法除法 symbol[1].addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ num1=inputField.getText(); syb ="-"; inputField.setText(""); symbol[4].addActionListener(this); } }); symbol[2].addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ num1=inputField.getText(); syb ="*"; inputField.setText(""); symbol[4].addActionListener(this); } }); symbol[3].addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ num1=inputField.getText(); syb ="/"; inputField.setText(""); symbol[4].addActionListener(this); } }); symbol[5].addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ String str = inputField.getText(); String str1 = str.substring(0,str.length()-1); inputField.setText(str1); } }); //這個是清空顯示屏的方法 for(i=0;i<symbol.length;i++){ add(symbol[i]); } } //添加符號按鈕 public static void setSystemClipboard(String refContent){ String vc = refContent.trim(); StringSelection ss = new StringSelection(vc); java.awt.datatransfer.Clipboard sysClb = null; sysClb =Toolkit.getDefaultToolkit().getSystemClipboard(); sysClb.setContents(ss,null); } //復制顯示屏內容的方法 public void actionPerformed(ActionEvent e) { if(e.getSource()==symbol[4]){ String num2 = inputField.getText();//得到第二個數 int N1 = Integer.parseInt(num1); int N2 = Integer.parseInt(num2); //下面是運算 String Sum=(N1+N2)+""; String Dvalue=(N1-N2)+""; String accumulate =(N1*N2)+""; String discuss=(N1/N2)+""; //下面是匹配 if(syb.equals("+")){ inputField.setText(Sum); } else if(syb.equals("-")){ inputField.setText(Dvalue); } else if(syb.equals("*")){ inputField.setText(accumulate); } else if(syb.equals("/")){ inputField.setText(discuss); } } }//這個是等于號的方法,分別匹配了加減乘除,并且試圖將結果輸出到顯示屏上,不過這個時候出問題了,結果沒出來,顯示屏清空了,可是明明沒有清空的方法。}
查看完整描述

1 回答

  • 1 回答
  • 0 關注
  • 1857 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號