熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java核心技術 >> 正文

java 計算器編碼

2022-06-13   來源: Java核心技術 

  import javaawt*;

  import javaawtevent*;

  import javalang*;

  import javaxswing*;

  public class cc extends Frame {

  //聲明三個面板的布局

  GridLayout glglgl;

  Panel pppp;

  JTextField tf;

  TextField tf;

  Button bbbbbbbbbbbb

  bbbbbbb

  bbbbbbbb;

  StringBuffer str;

  //顯示屏所顯示的字符串

  double xy;

  //x和y都是運算數

  int z;

  //Z表示單擊了那一個運算符表示+表示表示*表示/

  static double m;

  //記憶的數字

  public cc() {

  gl=new GridLayout();

  //實例化三個面板的布局

  gl=new GridLayout();

  gl=new GridLayout();

  tf=new JTextField();

  //顯示屏

  tfsetHorizontalAlignment(JTextFieldRIGHT);

  tfsetEnabled(false);

  tfsetText();

  tf=new TextField();

  //顯示記憶的索引值

  tfsetEditable(false);

  //實例化所有按鈕設置其前景色並注冊監聽器

  b=new Button(Backspace);

  bsetForeground(Colorred);

  baddActionListener(new Bt());

  b=new Button(CE);

  bsetForeground(Colorred);

  baddActionListener(new Bt());

  b=new Button(C);

  bsetForeground(Colorred);

  baddActionListener(new Bt());

  b=new Button(MC);

  bsetForeground(Colorred);

  baddActionListener(new Bt());

  b=new Button(MR);

  bsetForeground(Colorred);

  baddActionListener(new Bt());

  b=new Button(MS);

  bsetForeground(Colorred);

  baddActionListener(new Bt());

  b=new Button(M+);

  bsetForeground(Colorred);

  baddActionListener(new Bt());

  b=new Button();

  bsetForeground(Colorblue);

  baddActionListener(new Bt());

  b=new Button();

  bsetForeground(Colorblue);

  baddActionListener(new Bt());

  b=new Button();

  bsetForeground(Colorblue);

  baddActionListener(new Bt());

  b=new Button(/);

  bsetForeground(Colorred);

  baddActionListener(new Bt());

  b=new Button(sqrt);

  bsetForeground(Colorblue); baddActionListener(new Bt());

  b=new Button(); bsetForeground(Colorblue); baddActionListener(new Bt());

  b=new Button(); bsetForeground(Colorblue); baddActionListener(new Bt());

  b=new Button(); bsetForeground(Colorblue); baddActionListener(new Bt());

  b=new Button(*); bsetForeground(Colorred); baddActionListener(new Bt());

  b=new Button(%); bsetForeground(Colorblue); baddActionListener(new Bt());

  b=new Button(); bsetForeground(Colorblue); baddActionListener(new Bt());

  b=new Button(); bsetForeground(Colorblue); baddActionListener(new Bt());

  b=new Button(); bsetForeground(Colorblue); baddActionListener(new Bt());

  b=new Button(); bsetForeground(Colorred); baddActionListener(new Bt());

  b=new Button(/X); bsetForeground(Colorblue); baddActionListener(new Bt());

  b=new Button(); bsetForeground(Colorblue); baddActionListener(new Bt());

  b=new Button(+/); bsetForeground(Colorblue); baddActionListener(new Bt());

  b=new Button(); bsetForeground(Colorblue); baddActionListener(new Bt());

  b=new Button(+); bsetForeground(Colorred); baddActionListener(new Bt());

  b=new Button(=); bsetForeground(Colorred); baddActionListener(new Bt());

  //實例化四個面板

  p=new Panel();

  p=new Panel();

  p=new Panel();

  p=new Panel();

  //創建一個空字符串緩沖區

  str=new StringBuffer();

  //添加面板p中的組件和設置其在框架中的位置和大小

  padd(tf);

  psetBounds();

  //添加面板p中的組件和設置其在框架中的位置和大小

  psetLayout(gl);

  padd(tf);

  padd(b); padd(b); padd(b);

  psetBounds();

  //添加面板p中的組件並設置其的框架中的位置和大小

  psetLayout(gl); padd(b); padd(b);

  padd(b); padd(b); psetBounds();

  //添加面板p中的組件並設置其在框架中的位置和大小

  psetLayout(gl);//設置p的布局

  padd(b); padd(b); padd(b); padd(b);

  padd(b); padd(b); padd(b); padd(b);

  padd(b); padd(b); padd(b); padd(b);

  padd(b); padd(b); padd(b); padd(b);

  padd(b); padd(b); padd(b); padd(b);

  psetBounds();

  //設置框架中的布局為空布局並添加個面板

  setLayout(null); add(p); add(p); add(p);

  add(p); setResizable(false);

  //禁止調整框架的大小 //匿名類關閉窗口

  addWindowListener(new WindowAdapter(){

  public void windowClosing(WindowEvent e) {

  Systemexit();

  }

  });

  setBackground(ColorlightGray);

  setBounds();

  setVisible(true); }

  //構造監聽器

  class Bt implements ActionListener {

  public void actionPerformed(ActionEvent e) {

  try{

  if(egetSource()==b)

  //選擇CE清零

  { tfsetText();

  //把顯示屏清零

  strsetLength();

  //清空字符串緩沖區以准備接收新的輸入運算數

  } else if(egetSource()==b)

  //選擇C清零

  { tfsetText();

  //把顯示屏清零

  strsetLength();

  } else if(egetSource()==b)

  //單擊+/選擇輸入的運算數是正數還是負數

  { x=DoubleparseDouble(tfgetText()trim());

  tfsetText(+(x)); } else if(egetSource()==b)

  //單擊加號按鈕獲得x的值和z的值並清空y的值

  {

  x=DoubleparseDouble(tfgetText()trim());

  strsetLength();

  //清空緩沖區以便接收新的另一個運算數

  y=d; z=; } else if(egetSource()==b)

  //單擊減號按鈕獲得x的值和z的值並清空y的值

  { x=DoubleparseDouble(tfgetText()trim());

  strsetLength(); y=d; z=; } else if(egetSource()==b)

  //單擊乘號按鈕獲得x的值和z的值並清空y的值

  { x=DoubleparseDouble(tfgetText()trim()); strsetLength(); y=d; z=; }

  else if(egetSource()==b)//單擊除號按鈕獲得x的值和z的值並空y的值

  { x=DoubleparseDouble(tfgetText()trim()); strsetLength(); y=d; z=; }

  else if(egetSource()==b)//單擊等號按鈕輸出計算結果

  { strsetLength(); switch(z) { case : tfsetText(+(x+y));

  break; case : tfsetText(+(xy));break; case : tfsetText(+(x*y));break;

  case : tfsetText(+(x/y));break; } } else if(egetSource()==b)

  //單擊按鈕輸入小數

  { if(tfgetText()trim()indexOf()!=)

  //判斷字符串中是否已經包含了小數點

  { } else//如果沒數點有小

  { if(tfgetText()trim()equals())

  //如果初時顯示為

  { strsetLength();

  tfsetText((strappend(+egetActionCommand()))toString()); }

  else if(tfgetText()trim()equals())

  //如果初時顯示為空則不做任何操作

  { } else { tfsetText(strappend(egetActionCommand())toString()); }

  } y=d; } else if(egetSource()==b)

  //求平方根

  { x=DoubleparseDouble(tfgetText()trim());

  tfsetText(數字格式異常);

  if(x<) tfsetText(負數沒有平方根);

  else tfsetText(+Mathsqrt(x)); strsetLength(); y=d; }

  else if(egetSource()==b)//單擊了%按鈕

  { x=DoubleparseDouble(tfgetText()trim());

  tfsetText(+(*x)); strsetLength(); y=d;

  } else if(egetSource()==b)//單擊了/X按鈕

  { x=DoubleparseDouble(tfgetText()trim());

  if(x==) { tfsetText(除數不能為零); } else

  { tfsetText(+(/x)); } strsetLength(); y=d;

  } else if(egetSource()==b)//MC為清除內存

  { m=d; tfsetText(); strsetLength();

  } else if(egetSource()==b)//MR為重新調用存儲的數據

  { if(tfgetText()trim()!=)//有記憶數字

  { tfsetText(+m); } } else if(egetSource()==b)

  //MS為存儲顯示的數據

  { m=DoubleparseDouble(tfgetText()trim());

  tfsetText(M); tfsetText(); strsetLength(); }

  else if(egetSource()==b)//M+為將顯示的數字與已經存儲的數據相加要查看新的數字單擊MR

  { m=m+DoubleparseDouble(tfgetText()trim()); } else//選擇的是其他的按鈕

  { if(egetSource()==b)//如果選擇的是這個數字鍵

  { if(tfgetText()trim()equals())

  //如果顯示屏顯示的為零不做操作

  { } else { tfsetText(strappend(egetActionCommand())toString());

  y=DoubleparseDouble(tfgetText()trim()); } } else if(egetSource()==b)

  //選擇的是BackSpace按鈕

  { if(!tfgetText()trim()equals())

  //如果顯示屏顯示的不是零

  { if(strlength()!=) {

  tfsetText(strdelete(strlength()strlength())toString());

  //可能拋出字符串越界異常

  } else { tfsetText(); strsetLength(); } }

  y=DoubleparseDouble(tfgetText()trim()); } else

  //其他的數字鍵

  { tfsetText(strappend(egetActionCommand())toString());

  y=DoubleparseDouble(tfgetText()trim()); } } } catch(NumberFormatException e){ tfsetText(數字格式異常); } catch(StringIndexOutOfBound***ception e)

  { tfsetText(字符串索引越界); } } } public static void main(String args[]) { new cc(); } }


From:http://tw.wingwit.com/Article/program/Java/hx/201311/26926.html
  • 上一篇文章:

  • 下一篇文章:
  • 推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.