欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 1341|回復(fù): 0
收起左側(cè)

計(jì)算器設(shè)計(jì)JAVA

[復(fù)制鏈接]
ID:306754 發(fā)表于 2018-4-12 17:23 | 顯示全部樓層 |閱讀模式
package Calculator;
import java.util.*;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class Calculator{
   public static void main(String[] args){
  new  Interface();
   }
}
class Interface extends JFrame {
   ArrayList<String> list = new ArrayList<String>();//用來存該運(yùn)算中的數(shù),以及運(yùn)算結(jié)果,由文本編輯框得到
   ArrayList<String> lists = new ArrayList<String>();//用來存該運(yùn)算中使用了的運(yùn)算符,當(dāng)點(diǎn)擊運(yùn)算符按鈕存起集合lists
   int cout = 0;                                     //計(jì)數(shù)運(yùn)算符,用來作為集合中各元素的下標(biāo)
   JPanel inputpanel;                                //GUI組件的布局包括如下三個(gè)過程:1。創(chuàng)建面板,確定面板中的布局管理
   JTextField inputField;                            //                     2.給面板添加標(biāo)簽
   JButton button;                                   //                     3.為面板添加按鈕,文本編輯框等組件
   JButton btn1,btn2,btn3,btn4;
   JButton btn5,btn6,btn7,btn8;
   JButton btn9,btn10,btn11,btn12;
   JButton btn13,btn14,btn15,btn16;
   public Interface(){
inputpanel = new JPanel();
inputField = new JTextField(9);               //文本框長(zhǎng)度為9            
button = new JButton("清零");
inputpanel.add(inputField);
inputpanel.add(button);
this.add(inputpanel);  
JPanel panel = new JPanel(new GridLayout(4,4));//設(shè)置panel面板的布局管理為GridLayout管理器,為一個(gè)4*4的網(wǎng)格
btn1 = new JButton("7");
btn2 = new JButton("8");
btn3 = new JButton("9");
btn4 = new JButton("+");
btn5 = new JButton("4");
btn6 = new JButton("5");
btn7 = new JButton("6");
btn8 = new JButton("-");
btn9 = new JButton("1");
btn10 = new JButton("2");
btn11 = new JButton("3");
btn12 = new JButton("×");
btn13 = new JButton("0");
btn14 = new JButton(".");
btn15 = new JButton("=");
btn16 = new JButton("÷");  //定義Button按鈕
panel.add(btn1);
panel.add(btn2);
panel.add(btn3);
panel.add(btn4);
panel.add(btn5);
      panel.add(btn6);
panel.add(btn7);
panel.add(btn8);
      panel.add(btn9);
      panel.add(btn10);
      panel.add(btn11);
      panel.add(btn12);
      panel.add(btn13);
panel.add(btn14);
panel.add(btn15);
panel.add(btn16);            //將按鈕添加進(jìn)panel面板
btn1.addActionListener(new ActionListener () {
public void actionPerformed(ActionEvent e){
    inputField.setText(inputField.getText()+"7");
}
});                        
btn2.addActionListener(new ActionListener () {
public void actionPerformed(ActionEvent e){
inputField.setText(inputField.getText()+"8");
}
});
btn3.addActionListener(new ActionListener () {
public void actionPerformed(ActionEvent e){
inputField.setText(inputField.getText()+"9");
}
});
btn5.addActionListener(new ActionListener () {
public void actionPerformed(ActionEvent e){
    inputField.setText(inputField.getText()+"4");
}
});
btn6.addActionListener(new ActionListener () {
public void actionPerformed(ActionEvent e){
inputField.setText(inputField.getText()+"5" );
}
});
btn7.addActionListener(new ActionListener () {
public void actionPerformed(ActionEvent e){
inputField.setText(inputField.getText()+"6");
}
});
btn9.addActionListener(new ActionListener () {
public void actionPerformed(ActionEvent e){
   inputField.setText(inputField.getText()+"1");
}
});
btn10.addActionListener(new ActionListener () {
public void actionPerformed(ActionEvent e){
inputField.setText(inputField.getText()+"2");
}
});
btn11.addActionListener(new ActionListener () {
public void actionPerformed(ActionEvent e){
inputField.setText(inputField.getText()+"3");
}
});

btn13.addActionListener(new ActionListener () {
public void actionPerformed(ActionEvent e){
inputField.setText(inputField.getText()+"0");
}
});
btn14.addActionListener(new ActionListener () {
public void actionPerformed(ActionEvent e){
inputField.setText(inputField.getText()+".");
}
});                    //為數(shù)字按鈕和小數(shù)點(diǎn)按鈕添加點(diǎn)擊事件,點(diǎn)擊之后按鈕所代表數(shù)字顯示在文本編輯框
btn4.addActionListener(new ActionListener () {
public void actionPerformed(ActionEvent e){
list.add(inputField.getText()); //運(yùn)算的實(shí)現(xiàn),獲取在文本編輯框上顯示的文本,并存入集合list中
lists.add("+");     //獲取運(yùn)算符,存入lists中
cout++;             //標(biāo)記運(yùn)算符的個(gè)數(shù),也就是要進(jìn)行運(yùn)算的次數(shù)
inputField.setText("");      
//將編輯框置為空的,方便下一個(gè)數(shù)據(jù)的額輸入
}
});            
btn8.addActionListener(new ActionListener () {
public void actionPerformed(ActionEvent e){
list.add(inputField.getText());
lists.add("-");
cout++;
inputField.setText("");  
}
     });
     btn12.addActionListener(new ActionListener () {
public void actionPerformed(ActionEvent e){
list.add(inputField.getText());
lists.add("×");
cout++;
inputField.setText("");  
}
     });
btn16.addActionListener(new ActionListener () {
public void actionPerformed(ActionEvent e){
list.add(inputField.getText());
lists.add("÷");
cout++;
inputField.setText("");  
}
});
btn15.addActionListener(new ActionListener () {
public void actionPerformed(ActionEvent e){
list.add(inputField.getText());           //點(diǎn)擊按鈕=時(shí),把此事編輯框顯示的數(shù)據(jù)存入list
inputField.setText(Operator(lists.get(cout-1)));//把運(yùn)算得到的結(jié)果存入list,作為下一個(gè)運(yùn)算符運(yùn)算的前一個(gè)數(shù)
}
});
button.addActionListener(new ActionListener () {
public void actionPerformed(ActionEvent e){

inputField.setText("");
   list.clear();
   //將list和lists集合保存的上一次運(yùn)算的各要素清空
lists.clear();

cout = 0;              //把cout的值還原
}
});
this.add(panel);
     this.setTitle("計(jì)算器");
     this.setSize(185,205);
     this.setLayout(new FlowLayout());
     this.setVisible(true);                 //GUI窗體
  }
public String  Operator(String str){
Double result = 0.0 ;

Double a = Double.parseDouble(list.get(2*cout-2));//將list中記錄的第一個(gè)運(yùn)算符前一個(gè)數(shù)據(jù)轉(zhuǎn)化為Double類型
Double b = Double.parseDouble(list.get(2*cout-1));//將list中記錄的第一個(gè)運(yùn)算符后一個(gè)數(shù)據(jù)轉(zhuǎn)化為Double類型
switch(str){                                      //cout表示第幾個(gè)字符
case "+" : result = a + b;
          break;
case "-" : result = a - b;
               break;
case "×" : result = a * b;
               break;
case "÷" : result = a / b;
               break;
}
String res = String.valueOf(result);
return res; //通過switch語(yǔ)句得到各種運(yùn)算之后的返回值并轉(zhuǎn)化為String類型
}
}

回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表