java實現簡單計算器
本文例項為大家分享了java實現簡單計算器的具體程式碼,供大家參考,具體內容如下
思路:定義一個主框架Frame,我們對原設計的草圖進行劃分,以方便後面的佈局
下面我們來對主框架進行劃分
如圖,我們將主框架劃分為四個JPanel,其中panel1,2,3使用GridLayout佈局,GridLayout(1,2),
對於panel4我們使用流式佈局,主框架設定為FlowLayout,
由此我們把主要的佈局設計好了,接下來我們將個標籤,文字框,按鈕對應按鈕按如上設計圖依次放入各個panel中,忘了說了,我們還有對各個按鈕註冊事件監聽器
接著我們就要在actionPerformed()函式中對事件源(e.getSource())方法中對相應的事件進行處理,我們以加法為列,我們的設計思路是:從數字一,數字二對應的文字框接收資料,由於使用JTextField的方法getText()返回的是一個String,所以我們要將其轉化為十進位制實數,所以我們使用了Double.parseDouble()函式將從文字框接收到的String轉化為一個實數,數字一和數字二現在變成了實數,接著根據事件源不同就行對應不同的運算,接著結果繼續轉化為字串(String.valueOf()函式),並且設定數字三對應的文字框的內容為相應的結果即:jt3.setText();結束。
圖例 :乘法運算處理
特別的,在做除法運算時我們要對第二個運算元進行零操作檢查,如果除數為零,我們將數字三對應的文字區設定為”除數不能為零”提示使用者,除數不能為0
圖例:除數不能為零
程式執行結果:輸出1,2
加法
減法
乘法
除法
除數不能為0:
實現原始碼
import java.awt.*; import javax.swing.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class MyCalc extends JFrame implements ActionListener { JFrame jf; JLabel jl1; JLabel jl2; JLabel jl3; JButton jb1; JButton jb2; JButton jb3; JButton jb4; JTextField jt1; JTextField jt2; JTextField jt3; JPanel jp1; JPanel jp2; JPanel jp3; JPanel jp4; Container con; public void go() { //視窗設定 this.setLayout(new FlowLayout()); this.setTitle("計算"); this.setSize(150,200); con=this.getContentPane(); //標籤設定 jl1=new JLabel("數字一"); jl2=new JLabel("數字二"); jl3=new JLabel("數字三"); //按鈕設定,及其註冊事件監聽 jb1=new JButton("+"); jb1.addActionListener(this); jb2=new JButton("-"); jb2.addActionListener(this); jb3=new JButton("*"); jb3.addActionListener(this); jb4=new JButton("/"); jb4.addActionListener(this); //新增到面板 jp1=new JPanel(new GridLayout(1,2)); jp2=new JPanel(new GridLayout(1,2)); jp3=new JPanel(new GridLayout(1,2)); jp4=new JPanel(new GridLayout(1,2)); //穿件文字框 jt1=new JTextField(); jt2=new JTextField(); jt3=new JTextField(); jp1.setVisible(true); jp1.add(jl1); jp1.add(jt1); con.add(jp1); jp2.add(jl2); jp2.add(jt2); con.add(jp2); jp3.add(jl3); jp3.add(jt3); con.add(jp3); jp4.add(jb1); jp4.add(jb2); jp4.add(jb3); jp4.add(jb4); con.add(jp4); this.setVisible(true); } public static void main(String [] args) { MyCalc a= new MyCalc(); a.go(); } @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub if(e.getSource()==jb1) { jt3.setText(String.valueOf(Double.parseDouble(jt1.getText())+Double.parseDouble(jt2.getText()))); }else if(e.getSource()==jb2) { jt3.setText(String.valueOf(Double.parseDouble(jt1.getText())-Double.parseDouble(jt2.getText()))); }else if(e.getSource()==jb3) { jt3.setText(String.valueOf(Double.parseDouble(jt1.getText())*Double.parseDouble(jt2.getText()))); }else { if(Double.parseDouble(jt2.getText())==0.0) { jt3.setText("除數不能為零"); }else jt3.setText(String.valueOf(Double.parseDouble(jt1.getText())/Double.parseDouble(jt2.getText()))); } } }
關於計算器的精彩文章請檢視《計算器專題》 ,更多精彩等你來發現!
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。