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

標(biāo)題: 計(jì)算器設(shè)計(jì)JAVA [打印本頁]

作者: 禾穗    時(shí)間: 2018-4-12 17:23
標(biāo)題: 計(jì)算器設(shè)計(jì)JAVA
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);               //文本框長度為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ùn)算之后的返回值并轉(zhuǎn)化為String類型
}
}






歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1