青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

infinity

  C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
  36 隨筆 :: 0 文章 :: 25 評論 :: 0 Trackbacks
今天沒事,拿java做了一個簡單的計算器,帶時間顯示。以此用了用swing和awt的一些組件。初次寫
這種東西寫起來還真費時間,還真是跟c++不一樣。不過還是很有趣的...還有好多東西沒有完善,以后
再弄。代碼貼出來供大家bs....或許用java弄個掃雷也很有趣...


import java.awt.*;
import java.awt.event.*;
import java.lang.*;
import javax.swing.*;
import java.util.*;
import java.math.*;
public class Cal{
    
static Frame frm=new Frame("Calculator");//frame
    static JTextField txt=new JTextField("0");//text
    static JTextField time=new JTextField("00:00:00");//time
    
//static Date hour=new Date(),min=new Date(),sec=new Date();
    static Button btn[]=new Button[30];//button
    static Dialog dlg=new Dialog(frm);//dlg
    static Thread thd=new Thread();
    
static String btn_name[]={"MC","7","8","9","/","sqrt","MR","4","5","6","*","%",
                              
"MS","1","2","3","-","1/x","M+","0","+/-",".","+","=",
                              
"Backspace","CE","C","close","cancel"};//button_name Array_size=29
    static String op="";
    
static double ans=0,x=0,y=0;//ans
    static StringBuffer str=new StringBuffer("");//Str_buffer to read number
    static Panel pn1=new Panel();//panel
    static Panel pn2=new Panel();

    
public Cal(){//構造函數
        
//frame
        frm.setLayout(null);
        frm.setLocation(
250,250);
        frm.setSize(
350,300);
        frm.setBackground(Color.DARK_GRAY);
        frm.setResizable(
false);
        frm.setVisible(
true);
        frm.addWindowListener(
new WinLis());
        
//text
        txt.setForeground(Color.yellow);
        txt.setBackground(Color.gray);
        txt.setBounds(
90,40,230,30);//輸出顯示
        txt.setHorizontalAlignment(JTextField.RIGHT);
        txt.setEditable(
false);
        frm.add(txt);
        time.setForeground(Color.yellow);
        time.setBackground(Color.gray);
        time.setBounds(
20,40,60,30);//時間顯示
        time.setHorizontalAlignment(JTextField.CENTER);
        time.setEditable(
false);
        frm.add(time);
        
        
//panel&&button
        GridLayout grid1=new GridLayout(4,6);
        GridLayout grid2
=new GridLayout(1,3);
        pn1.setLayout(grid1);
        pn2.setLayout(grid2);
        pn1.setBounds(
20,120,300,150);
        pn2.setBounds(
20,80,300,30);
        
for(int i=0;i<24;i++){
            btn[i]
=new Button(btn_name[i]);
            btn[i].setForeground(Color.red);
            btn[i].setBackground(Color.yellow);
            btn[i].addActionListener(
new ActLis());
            pn1.add(btn[i]);
        }
        frm.add(pn1);
        
for(int i=24;i<27;i++){
            btn[i]
=new Button(btn_name[i]);
            btn[i].setForeground(Color.red);
            btn[i].setBackground(Color.blue);
            btn[i].addActionListener(
new ActLis());
            pn2.add(btn[i]);
        }
        frm.add(pn2);
        
//dialog &btn
        btn[27]=new Button(btn_name[27]);
        btn[
28]=new Button(btn_name[28]);
        btn[
27].setBackground(Color.blue);
        btn[
28].setBackground(Color.blue);
        btn[
27].setForeground(Color.yellow);
        btn[
28].setForeground(Color.yellow);
        dlg.setTitle(
"確定要關閉");
        dlg.setSize(
200,150);
        dlg.setLayout(
new FlowLayout(FlowLayout.CENTER,5,30));
        dlg.setBackground(Color.white);
        dlg.add(btn[
27]);
        dlg.add(btn[
28]);
    }
    
static class thread extends Thread{//時間顯示線程
        public thread(){
            thd
=new Thread(this);
            thd.start();
        }
        
public void run(){
            
while(true){
                Integer a
=new Date().getHours(),b=new Date().getMinutes(),c=new Date().getSeconds();
                String aa
=new String(""),bb=new String(""),cc=new String("");
                
if(a<10) aa="0"+a.toString(); else aa=a.toString();
                
if(b<10) bb="0"+b.toString(); else bb=b.toString();
                
if(c<10) cc="0"+c.toString(); else cc=c.toString();
                time.setText(aa
+":"+bb+":"+cc);
                
try{
                    thd.sleep(
100);
                }
                
catch(InterruptedException ie){
                    System.out.println(
""+ie);    
                }
            }
        }
    }
    
public class WinLis extends WindowAdapter{//WinLis
        public void windowClosing(WindowEvent e1){
            
//frm.dispose();
            
//System.exit(0);
            dlg.setLocation(200,300);
            dlg.show(
true);
        }
    }
    
static class ActLis implements ActionListener{ //ActionListener
        public void actionPerformed(ActionEvent e2){
            Button bt
=(Button)e2.getSource();
            
if(bt==btn[27]){
                frm.dispose();
                System.exit(
0);
            }
            
else if(bt==btn[28]) dlg.hide();
            
else if(bt==btn[24]){//"Backspace"鍵
                if(!txt.getText().trim().equals("0")){
                    
if(str.length()!=1){
                        txt.setText(str.delete(str.length()
-1,str.length()).toString());
                    }
                    
else{
                        txt.setText(
"0");
                        str.setLength(
0);//str長度清零
                    }
                }
                y
=Double.parseDouble(txt.getText().trim());
            }
            
else if(bt==btn[25|| bt==btn[26]){txt.setText("0");str.setLength(0);}// "CE"or"C"
            
//else if(bt==btn[0]){}//btn[0]"MC" btn[6]"MR" btn[12]"MS" btn[18]"M+"
            else if(bt==btn[4]) {// "/" 號
                op="/";
                x
=Double.parseDouble(txt.getText().trim());y=0;
                str.setLength(
0);    
            }
            
else if(bt==btn[5]){// "sqrt"號
                x=Double.parseDouble(txt.getText().trim());y=0;
                
if(x<0) txt.setText("invalid");
                
else txt.setText(""+Math.sqrt(x));
                str.setLength(
0);
            }
            
else if(bt==btn[10]){// "*"號
                op="*";
                x
=Double.parseDouble(txt.getText().trim());y=0;
                str.setLength(
0);
            }
            
else if(bt==btn[11]) {// "%"號
                x=Double.parseDouble(txt.getText().trim());y=0;
                txt.setText(
""+x/100);
                str.setLength(
0);
            }
            
else if(bt==btn[16]){// "-"號
                op="-";
                x
=Double.parseDouble(txt.getText().trim());y=0;
                str.setLength(
0);
            }
            
else if(bt==btn[17]){// "1/x"號
                x=Double.parseDouble(txt.getText().trim());y=0;
                
if(x==0) txt.setText("invalid");
                
else txt.setText(""+1/x);
                str.setLength(
0);
            }
            
else if(bt==btn[22]){// "+"號
                op="+";
                x
=Double.parseDouble(txt.getText().trim());y=0;
                str.setLength(
0);
            }
            
else if(bt==btn[21]){// "." 號
                if(txt.getText().trim().indexOf('.')==-1) txt.setText(str.append(".").toString());
                
else{
                    txt.setText(
"invalid");
                    str.setLength(
0);
                    x
=0;y=0;
                }
            }
            
else if(bt==btn[23]){// "="號
                if(y==0 && op=="/") txt.setText("invalid");
                
else txt.setText(""+calculate());
                str.setLength(
0);
                x
=Double.parseDouble(txt.getText().trim());y=0;op="";
            }
            
else{//按下數字鍵
                txt.setText(str.append(e2.getActionCommand()).toString());
                y
=Double.parseDouble(txt.getText().trim());
            }
        }
        
public double calculate(){
            
if(op=="+"return x+y;
            
else if(op=="-"return x-y;
            
else if(op=="*"return x*y;
            
else if(op==""return y;
            
else{
                
//if(y==0) {txt.setText("invalid");
                return x/y;
            }
        }
    }
    
    
public static void main(String args[]){
        Cal calculator
=new Cal();
        thread new_thd
=new thread();
    }
}

posted on 2008-12-01 01:03 infinity 閱讀(716) 評論(0)  編輯 收藏 引用 所屬分類: java

只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            国产精品夜夜夜一区二区三区尤| 免费成人性网站| 国产一区二区精品久久91| 欧美午夜宅男影院| 国产精品久久久久久久9999| 欧美特黄一级| 国产精品综合久久久| 国产嫩草一区二区三区在线观看 | 国产欧美日韩综合一区在线观看| 国产精品亚洲欧美| 国产一区二区欧美日韩| 亚洲第一精品福利| 一区二区国产精品| 久久久美女艺术照精彩视频福利播放| 久久综合伊人77777| 欧美国产日韩一二三区| 亚洲作爱视频| 欧美亚洲三区| 久久综合伊人77777尤物| 欧美成年视频| 国产精品一卡二| 亚洲第一福利视频| 亚洲午夜精品| 久久久久久久一区二区| 欧美激情精品久久久久| 99国产精品久久久久久久久久| 亚洲欧美日韩一区二区| 久久久久免费| 欧美精品日韩www.p站| 国产欧美丝祙| 日韩一二在线观看| 久久综合狠狠| 亚洲视频图片小说| 亚洲区一区二| 久热精品视频在线观看一区| 亚洲激情在线| 久久精品欧美| 国产精品乱码一区二三区小蝌蚪 | 欧美日韩性生活视频| 黄色亚洲精品| 欧美在线视频播放| 亚洲视频一二区| 欧美国产激情| 亚洲高清视频一区| 久久久亚洲影院你懂的| 亚洲午夜小视频| 欧美日产在线观看| 亚洲人成网站777色婷婷| 久久综合久久综合九色| 亚洲欧美在线aaa| 欧美色欧美亚洲另类七区| 亚洲欧洲日本mm| 欧美成年视频| 久久夜色精品国产| 狠狠色丁香婷婷综合| 久久精品一本久久99精品| 亚洲视频精选在线| 国产精品日韩一区| 欧美亚洲免费在线| 亚洲午夜在线观看| 国产精品红桃| 欧美亚洲视频一区二区| 亚洲一区二区在线看| 国产精品一区二区久久精品| 欧美一区二区成人| 久久国产精品色婷婷| 激情欧美一区| 免费日韩成人| 欧美激情在线播放| 亚洲视频在线二区| 亚洲小说欧美另类婷婷| 国产一区二区| 蜜桃久久av一区| 欧美成人免费大片| 亚洲男人的天堂在线| 香蕉成人伊视频在线观看| 国精品一区二区三区| 欧美国产在线视频| 欧美日韩一区二区三区在线观看免| 亚洲高清久久久| 亚洲精品国产精品国产自| 男女视频一区二区| 亚洲欧洲日本在线| 亚洲第一网站免费视频| 蜜桃av综合| 亚洲级视频在线观看免费1级| 久久精品五月婷婷| 亚洲精品一区久久久久久 | 欧美亚洲三区| 在线观看中文字幕亚洲| 欧美一级理论片| 久久九九精品| 亚洲毛片在线看| 国产精品99久久久久久久女警 | 一本色道久久综合狠狠躁篇的优点 | 亚洲人成艺术| 欧美日韩一二三四五区| 久久精品国产在热久久 | 欧美aaa级| 欧美人牲a欧美精品| 久久精品国产96久久久香蕉| 欧美成年人网| 久久成人精品视频| 欧美国产日本高清在线| 久久精品国产亚洲精品| 欧美日韩日本视频| 免费欧美日韩| 国产亚洲一区二区在线观看| 亚洲精品一区久久久久久 | 午夜亚洲影视| 欧美理论电影网| 久久综合九色99| 国产精品久久久久久久电影 | 国产亚洲一本大道中文在线| 亚洲精品1区| 在线观看欧美成人| 先锋影音一区二区三区| 亚洲一区二区三区成人在线视频精品| 久久久久91| 久久九九免费| 国产精品亚洲综合一区在线观看 | 99在线视频精品| 亚洲国产天堂久久综合| 久久国产色av| 欧美在线观看视频一区二区| 欧美视频一区二区在线观看| 亚洲精美视频| 日韩视频在线一区二区| 蜜臀av性久久久久蜜臀aⅴ| 免费av成人在线| 在线成人免费观看| 久久久青草青青国产亚洲免观| 久久精品免视看| 国产午夜一区二区三区| 午夜精品久久久久久久99黑人| 亚洲欧美国产高清va在线播| 国产精品久久久久999| 亚洲免费观看| 激情综合在线| 久久免费一区| 麻豆亚洲精品| 亚洲国产日韩欧美| 欧美本精品男人aⅴ天堂| 欧美 日韩 国产精品免费观看| 在线精品一区二区| 欧美sm视频| 99成人在线| 欧美专区亚洲专区| 精品51国产黑色丝袜高跟鞋| 久久久无码精品亚洲日韩按摩| 欧美成在线视频| 99riav久久精品riav| 欧美日韩激情小视频| 亚洲天堂av高清| 久久精品国产久精国产一老狼| 韩国v欧美v日本v亚洲v| 女仆av观看一区| 一本久久综合亚洲鲁鲁| 欧美一区二区三区婷婷月色| 狠狠久久亚洲欧美| 欧美福利在线| 亚洲一区激情| 欧美成年人视频| 亚洲一级黄色| 国产一区二区三区日韩欧美| 久久影视三级福利片| 亚洲免费黄色| 久久米奇亚洲| 9色国产精品| 国产麻豆综合| 老司机午夜精品| 亚洲一区观看| 欧美国产第二页| 午夜天堂精品久久久久| 亚洲级视频在线观看免费1级| 欧美午夜不卡影院在线观看完整版免费| 亚洲欧美综合一区| 亚洲国产精品第一区二区三区 | 久久视频一区| 亚洲手机成人高清视频| 韩国一区二区三区在线观看| 欧美国产在线观看| 性高湖久久久久久久久| 亚洲精品在线视频观看| 久久亚洲高清| 亚洲摸下面视频| 亚洲片在线资源| 国产亚洲一区二区三区| 欧美日韩国产123| 裸体歌舞表演一区二区| 一区二区三区精品视频在线观看| 欧美xxxx在线观看| 久久九九热免费视频| 亚洲天堂成人在线视频| 国内精品亚洲| 国产欧美韩日| 国产精品久久久999| 欧美国产一区二区三区激情无套| 久久电影一区| 久久er精品视频|