<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    與Java相伴的日子
    相識(shí),相知,相戀,到相守......我的日子因你的到來(lái)而充實(shí),我的日子因你的存在而多姿!
    posts - 4,comments - 31,trackbacks - 0
    ??????? 這是我初學(xué)Java時(shí)用Java編寫的小型計(jì)算器,現(xiàn)在看來(lái),確實(shí)有點(diǎn)幼稚,不過(guò),畢竟是自己寫的,放在這里,權(quán)作紀(jì)念吧,嘿嘿。
    ?????? 代碼如下:
    import?java.awt.*;
    import?java.awt.event.*;
    public?class?Calculator?extends?Frame
    {
    ?TextField?text?
    =?new?TextField(20);
    ?Panel?p
    =new?Panel();
    ?
    double?num;???????????//存放操作數(shù)
    ?String?op;
    ?
    double?result;????????//存放計(jì)算結(jié)果
    ?int?idx=0;????????????//用于退格鍵
    ?boolean?flag=false;//用于追加數(shù)字還是重新顯示
    ?boolean?dbClick=false;//是否連按"="號(hào)
    ?public?Calculator()
    ?
    {
    ??
    super("簡(jiǎn)易計(jì)算器");
    ??String[]?name??
    ={"退格","CE","C","/","7","8","9","*","4","5","6","-",
    ??????
    "1","2","3","+","0","+/-",".","="}
    ;??????
    ??Button[]?button
    =?new??Button[name.length];
    ??add(text,
    "North");
    ??text.setFont(
    new?Font("宋體",Font.BOLD,20));
    ??text.setText(
    "0.0");
    ??text.setEditable(
    false);
    ??text.setFocusable(
    false);
    ??
    ??p.setLayout(
    new?GridLayout(5,4,2,2));??
    ??
    for?(int?i=0;i<name.length;i++)
    ??
    {
    ???button[i]
    =new?Button(name[i]);
    ???
    if(i<=3||i==7||i==11||i==15||i==19)
    ???
    {//設(shè)置按鈕前景色
    ????button[i].setForeground(Color.red);
    ???}

    ???
    else
    ???
    {
    ????button[i].setForeground(Color.blue);
    ???}

    ???button[i].setFont(
    new?Font("宋體",Font.BOLD,15));
    ???button[i].addActionListener(
    new?MyActionListener());//添加監(jiān)聽器
    ???p.add(button[i]);?
    ??}
    ??
    ??add(p,
    "South");
    ??setSize(
    250,200);
    ??
    this.setLocation(300,300);
    ??
    this.setResizable(false);//窗體不可改變大小??
    ??addWindowListener(new?WindowAdapter()
    ??
    {
    ???
    public?void?windowClosing(WindowEvent?e)
    ???
    {
    ????System.exit(
    0);
    ???}

    ??}
    );??
    ??
    this.setVisible(true);
    ?}

    ?
    class?MyActionListener?implements?ActionListener
    ?
    {
    ??
    public?void?actionPerformed(ActionEvent?e)
    ??
    {
    ???String?input
    =text.getText();
    ???String?str
    =e.getActionCommand();
    ???
    if(isNum(str))
    ???
    {
    ????
    if(!flag)
    ????
    {
    ?????
    if(input!=""&&!input.equals("0.0")&&!input.equals("0"))
    ?????
    {
    ??????text.setText(input
    +str);
    ?????}

    ?????
    else
    ?????
    {?
    ??????text.setText(str);
    ?????}

    ????}

    ????
    else
    ????
    {?????
    ?????text.setText(str);
    ????}

    ????flag
    =false;???
    ???}

    ??????
    else?if(str.equals("+")||str.equals("-")||str.equals("*")||str.equals("/"))
    ???
    {
    ????result
    =Double.parseDouble(input);
    ????op
    =str;
    ????flag
    =true;
    ????dbClick
    =false;
    ???}

    ??????
    if(str.equals("="))
    ???
    {
    ????
    if(dbClick==false)
    ????
    {
    ?????num
    =Double.parseDouble(input);
    ????}
    ???????????
    ????
    if(op.equals("+"))
    ????
    {
    ?????result
    +=num;
    ????}

    ????
    if(op.equals("-"))
    ????
    {
    ?????result
    -=num;
    ????}

    ????
    if(op.equals("*"))
    ????
    {
    ?????result
    *=num;
    ????}

    ????
    if(op.equals("/"))
    ????
    {
    ?????
    if(num!=0.0)
    ?????
    {
    ??????result
    /=num;?????
    ?????}
    ????????
    ????}

    ????text.setText(
    ""+result);
    ????flag
    =false;
    ????dbClick
    =true;
    ???}

    ???
    if(str.equals("CE"))
    ???
    {
    ????text.setText(
    "0.0");????
    ????num
    =0;???
    ???}

    ???
    if(str.equals(".")&&input.indexOf(".")<0)
    ???
    {
    ????text.setText(input
    +".");????
    ???}

    ???
    if(str.equals("+/-"))
    ???
    {
    ????
    double?m?=?Double.parseDouble(input);
    ????
    if(m!=0.0)
    ????
    {
    ?????text.setText(m
    *(-1)+"");
    ????}

    ???}

    ???
    if(str.equals("C"))
    ???
    {
    ????text.setText(
    "0.0");
    ????flag
    =false;
    ????dbClick
    =false;
    ????result
    =0;
    ????num
    =0;
    ???}

    ???
    if(str.equals("退格"))
    ???
    {
    ????idx
    =input.length()-1;
    ????
    if(idx<0)
    ????
    {
    ?????
    return;
    ????}

    ????text.setText(input.substring(
    0,idx));
    ???}

    ???
    ??}

    ?}

    ?
    public?boolean?isNum(String?str)
    ?
    {
    ??
    if(str.equals("0")||str.equals("1")||str.equals("2")||str.equals("3")||str.equals("4")
    ???
    ||str.equals("5")||str.equals("6")||str.equals("7")||str.equals("8")||str.equals("9"))
    ??
    {
    ???
    return?true;
    ??}

    ??
    else
    ??
    {
    ???
    return?false;
    ??}

    ?}

    ?
    public?static?void?main(String[]?args)
    ?
    {
    ??
    new?Calculator();
    ?}

    }
    posted on 2006-04-15 00:52 南一郎 閱讀(973) 評(píng)論(1)  編輯  收藏

    FeedBack:
    # re: 我用Java編的一個(gè)小計(jì)算器
    2007-11-11 15:17 | 忽忽
    不錯(cuò)了!怎么說(shuō)幼稚呢?太謙虛了!  回復(fù)  更多評(píng)論
      

    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲熟妇无码乱子AV电影| av无码久久久久不卡免费网站 | 成人免费的性色视频| 99精品在线免费观看| 精品视频在线免费观看| 免费网站观看WWW在线观看| 中文字幕在线成人免费看| 成人自慰女黄网站免费大全| 成在线人免费无码高潮喷水| 两个人看的www免费| 精品视频在线免费观看| 1000部免费啪啪十八未年禁止观看 | 亚洲毛片不卡av在线播放一区| 哒哒哒免费视频观看在线www| 四虎国产精品免费视| 亚洲Av无码乱码在线播放| 自拍偷自拍亚洲精品被多人伦好爽| 亚洲乱色熟女一区二区三区丝袜| 亚洲成AV人片在线观看| 青青草原精品国产亚洲av| 亚洲乱码卡一卡二卡三| 亚洲色无码专区一区| 国产亚洲美女精品久久久久| 一级毛片在线完整免费观看| 暖暖日本免费中文字幕| 91精品全国免费观看含羞草| 最近高清国语中文在线观看免费| 亚洲首页国产精品丝袜| 亚洲乱亚洲乱妇无码| 免费无码国产在线观国内自拍中文字幕| 好湿好大好紧好爽免费视频| 毛片无码免费无码播放| 成年女人毛片免费播放人| 免费国产成人午夜私人影视| 亚洲精品无码国产| 亚洲中文字幕在线无码一区二区| 亚洲JIZZJIZZ妇女| 国产在线国偷精品免费看| 18禁美女黄网站色大片免费观看 | j8又粗又长又硬又爽免费视频 | 美女黄色免费网站|