真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

利用java怎么實(shí)現(xiàn)一個(gè)計(jì)算器功能-創(chuàng)新互聯(lián)

利用java怎么實(shí)現(xiàn)一個(gè)計(jì)算器功能?針對(duì)這個(gè)問題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡(jiǎn)單易行的方法。

創(chuàng)新互聯(lián)公司致力于互聯(lián)網(wǎng)網(wǎng)站建設(shè)與網(wǎng)站營(yíng)銷,提供網(wǎng)站制作、成都做網(wǎng)站、網(wǎng)站開發(fā)、seo優(yōu)化、網(wǎng)站排名、互聯(lián)網(wǎng)營(yíng)銷、小程序定制開發(fā)、公眾號(hào)商城、等建站開發(fā),創(chuàng)新互聯(lián)公司網(wǎng)站建設(shè)策劃專家,為不同類型的客戶提供良好的互聯(lián)網(wǎng)應(yīng)用定制解決方案,幫助客戶在新的全球化互聯(lián)網(wǎng)環(huán)境中保持優(yōu)勢(shì)。

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


下面我們來(lái)對(duì)主框架進(jìn)行劃分

利用java怎么實(shí)現(xiàn)一個(gè)計(jì)算器功能

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

利用java怎么實(shí)現(xiàn)一個(gè)計(jì)算器功能

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

利用java怎么實(shí)現(xiàn)一個(gè)計(jì)算器功能

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

利用java怎么實(shí)現(xiàn)一個(gè)計(jì)算器功能

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

利用java怎么實(shí)現(xiàn)一個(gè)計(jì)算器功能

圖例 :乘法運(yùn)算處理

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

利用java怎么實(shí)現(xiàn)一個(gè)計(jì)算器功能

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

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

加法

利用java怎么實(shí)現(xiàn)一個(gè)計(jì)算器功能

減法

利用java怎么實(shí)現(xiàn)一個(gè)計(jì)算器功能

乘法

利用java怎么實(shí)現(xiàn)一個(gè)計(jì)算器功能

除法

利用java怎么實(shí)現(xiàn)一個(gè)計(jì)算器功能

除數(shù)不能為0:

利用java怎么實(shí)現(xiàn)一個(gè)計(jì)算器功能

實(shí)現(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("計(jì)算");
  this.setSize(150,200);
  
  con=this.getContentPane();
  //標(biāo)簽設(shè)置
  jl1=new JLabel("數(shù)字一");
  jl2=new JLabel("數(shù)字二");
  jl3=new JLabel("數(shù)字三");
  //按鈕設(shè)置,及其注冊(cè)事件監(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)于利用java怎么實(shí)現(xiàn)一個(gè)計(jì)算器功能問題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識(shí)。


當(dāng)前題目:利用java怎么實(shí)現(xiàn)一個(gè)計(jì)算器功能-創(chuàng)新互聯(lián)
文章轉(zhuǎn)載:http://weahome.cn/article/isipd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部