亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術(shù)文章
文章詳情頁

java實現(xiàn)簡單計算器

瀏覽:2日期:2022-08-19 14:17:08

本文實例為大家分享了java實現(xiàn)簡單計算器的具體代碼,供大家參考,具體內(nèi)容如下

思路:定義一個主框架Frame,我們對原設(shè)計的草圖進行劃分,以方便后面的布局

下面我們來對主框架進行劃分

java實現(xiàn)簡單計算器

如圖,我們將主框架劃分為四個JPanel,其中panel1,2,3使用GridLayout布局,GridLayout(1,2),

java實現(xiàn)簡單計算器

對于panel4我們使用流式布局,主框架設(shè)置為FlowLayout,

java實現(xiàn)簡單計算器

由此我們把主要的布局設(shè)計好了,接下來我們將個標簽,文本框,按鈕對應(yīng)按鈕按如上設(shè)計圖依次放入各個panel中,忘了說了,我們還有對各個按鈕注冊事件監(jiān)聽器

java實現(xiàn)簡單計算器

接著我們就要在actionPerformed()函數(shù)中對事件源(e.getSource())方法中對相應(yīng)的事件進行處理,我們以加法為列,我們的設(shè)計思路是:從數(shù)字一,數(shù)字二對應(yīng)的文本框接收數(shù)據(jù),由于使用JTextField的方法getText()返回的是一個String,所以我們要將其轉(zhuǎn)化為十進制實數(shù),所以我們使用了Double.parseDouble()函數(shù)將從文本框接收到的String轉(zhuǎn)化為一個實數(shù),數(shù)字一和數(shù)字二現(xiàn)在變成了實數(shù),接著根據(jù)事件源不同就行對應(yīng)不同的運算,接著結(jié)果繼續(xù)轉(zhuǎn)化為字符串(String.valueOf()函數(shù)),并且設(shè)置數(shù)字三對應(yīng)的文本框的內(nèi)容為相應(yīng)的結(jié)果即:jt3.setText();結(jié)束。

java實現(xiàn)簡單計算器

圖例 :乘法運算處理

特別的,在做除法運算時我們要對第二個操作數(shù)進行零操作檢查,如果除數(shù)為零,我們將數(shù)字三對應(yīng)的文本區(qū)設(shè)置為”除數(shù)不能為零”提示用戶,除數(shù)不能為0

java實現(xiàn)簡單計算器

圖例:除數(shù)不能為零

程序運行結(jié)果:輸出1,2

加法

java實現(xiàn)簡單計算器

減法

java實現(xiàn)簡單計算器

乘法

java實現(xiàn)簡單計算器

除法

java實現(xiàn)簡單計算器

除數(shù)不能為0:

java實現(xiàn)簡單計算器

實現(xiàn)源碼

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() { //窗口設(shè)置 this.setLayout(new FlowLayout()); this.setTitle('計算'); this.setSize(150,200); con=this.getContentPane(); //標簽設(shè)置 jl1=new JLabel('數(shù)字一'); jl2=new JLabel('數(shù)字二'); jl3=new JLabel('數(shù)字三'); //按鈕設(shè)置,及其注冊事件監(jiān)聽 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('除數(shù)不能為零'); }else jt3.setText(String.valueOf(Double.parseDouble(jt1.getText())/Double.parseDouble(jt2.getText()))); } }}

關(guān)于計算器的精彩文章請查看《計算器專題》 ,更多精彩等你來發(fā)現(xiàn)!

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標簽: Java
相關(guān)文章:
主站蜘蛛池模板: 高清国产天干天干天干不卡顿 | 中文字幕日韩在线一区国内 | 亚洲综合视频一区 | 中文字幕爱爱 | 99久久精品免费看国产一区二区 | 午夜国产高清精品一区免费 | 亚洲高清国产一线久久 | 爱爱小视频在线观看网站 | 久久成人免费播放网站 | 色综合久久98天天综合 | 免费看国产做爰大片 | 在线播放黄色片 | 三黄色片| 欧美日韩亚洲另类人人澡 | 看片视频在线观看 | 国内视频一区二区 | 国产污视频 | 被窝福利无限 | 久久久久久亚洲精品影院 | 亚洲在线精品 | 欧美久久超级碰碰碰二区三区 | 97起碰| 亚洲国产一区二区三区青草影视 | 国产美女一区精品福利视频 | 国产精品日韩欧美一区二区三区 | 国产精品高清一区二区不卡 | 国产亚洲精品久久麻豆 | 六月丁香久久 | 亚洲日韩精品欧美一区二区一 | 精品一区二区三区影院在线午夜 | 天天躁日日躁狠狠躁中文字幕老牛 | 中国免费观看的视频 | 日本精品视频在线观看 | 国产一区二区在线播放 | 国产伦理久久精品久久久久 | 国产主播在线观看 | www.日日爱| 色婷婷久久综合中文网站 | 国产成人精品免费视频大全五级 | 亚洲成年人网址 | 欧美激情视频一级视频一级毛片 |