日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java实现计算器_初学JAVA之实现计算器

發布時間:2023/12/10 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java实现计算器_初学JAVA之实现计算器 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

ManAndRunning

這學期 Java 就快結課了,上機課最后布置了幾個題,最后一題要求寫一個計算器有點意思,記錄一下。

需求:

設計一個在windows系統中可以使用的“計算器”窗口并實現(+、-,×,÷等)其功能。

實現計算器,首先要有一個窗口:

// 創建窗口

final JFrame jf = new JFrame("計算器");

// 流動布局,居中

jf.setLayout(new FlowLayout(1,5,5));

jf.setSize(293,251);

//

jf.setLocationRelativeTo(null);

jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

// 不可以改變大小

jf.setResizable(false);

// 創建容器,存放顯示數字框和 C 按鈕

JPanel panel1 = new JPanel();

// 定義按鈕面板,并設置為網格布局,4行4列,組件水平、垂直間距均為3

JPanel panel2 = new JPanel(new GridLayout(4,4,1,1));

有了窗口容器,就要往里面添加組件了。計算器首先要有一個文本框來顯示數字,然后還要有數字按鈕,加減乘除小數點等號,最后還要一個刪除按鈕 C 。

然后一一添加即可。

// 創建文本域,放置輸入數據和結果

JTextArea text = new JTextArea(1,13);

// 設置字體

text.setFont(new Font(null, Font.PLAIN, 20));

// 設置大小

text.setPreferredSize(new Dimension(190,28));

// 不可編輯

text.setEditable(false);

panel1.add(text);

// 創建一個清除按鈕'C'

JButton btnC = new JButton("C");

btnC.setFont(new Font(null, Font.PLAIN, 20));

btnC.setPreferredSize(new Dimension(55,28));

panel1.add(btnC);

// 按鈕數組

String btn_str[] = {"1","2","3","/","4","5","6","*","7","8","9","-","0",".","=","+"};

JButton btn[] = new JButton[btn_str.length];

for(int i = 0 ; i < btn_str.length ; i++ ){

btn[i]=new JButton(btn_str[i]);

btn[i].setFont(new Font(null, Font.PLAIN, 20));

btn[i].setPreferredSize(new Dimension(70,42));

panel2.add(btn[i]);

}

這里通過循環創建按鈕數組。省時又省力,快樂好心情。

到這里面板內容就做好了,接下來就需要為每個按鈕添加功能。

先來看數字按鈕和運算符號按鈕:

// 按鈕功能

for(int i = 0 ; i < btn_str.length ; i++) {

if(i != 14) {

// 如果不是等于號

int j = i;

btn[i].addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

// 獲取文本框內容

String textStr = text.getText();

// 如果有等號,清空文本框

if(textStr.indexOf("=") != -1) {

text.setText("");

}

// 獲取按鈕字符添加到文本框

String s = btn[j].getText();

text.append(s);

}

});

}else {

// 如果點擊等于號

btn[i].addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

try {

// 獲取文本框內容

String gongshi = text.getText();

// 計算公式

String jieguo = jse.eval(gongshi).toString();

// 如果結果字符串過長,只顯示等號和結果

if(jieguo.length() > 18) {

jieguo = jieguo.substring(jieguo.length()-16, jieguo.length());

text.setText("=");

text.append(jieguo);

}else {

text.append("=");

text.append(jieguo);

}

//如果出錯

} catch (Exception t) {

text.setText("");

}

}

});

}

}{ }// 皮皮狗子寫的!

i = 14 的時候呢,這個按鈕是 '=' 號,所有要區別對待一下。

用戶點擊按鈕的時候,獲取到按鈕上的字符,然后將該字符添加的文本框內,當用戶點擊等于號的時候進行計算。

這里計算的時候用到了這個方法。

String jieguo = jse.eval(gongshi).toString();

通過下面這條語句引入這個方法。

static ScriptEngine jse = new ScriptEngineManager().getEngineByName("JavaScript");

通過這個方法可以自動將字符串類型的公式計算出結果,并且可以通過 try-catch 捕捉到錯誤。

接下來實現刪除鍵 C :

// C 鍵 功能

btnC.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

String textStr = text.getText();

if(textStr.indexOf("=") != -1) {

text.setText("");

}else {

textStr = textStr.substring(0,(textStr.length() - 1));

text.setText(textStr);

}

}

});

最后將面板添加到窗口:

// 把 面板容器 設置到 窗口

// panel1 設置到頂部

jf.getContentPane().add(panel1,BorderLayout.NORTH);

// panel1 設置到底部

jf.getContentPane().add(panel2,BorderLayout.CENTER);

// 顯示窗口,前面創建的信息都在內存中,通過 jf.setVisible(true) 把內存中的窗口顯示在屏幕上。

jf.setVisible(true);

OK,一個簡單的計算器就完成了!

計算器

2018/6/12

總結

以上是生活随笔為你收集整理的java实现计算器_初学JAVA之实现计算器的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 黄色av地址| 97精品视频 | 明日花绮罗高潮无打码 | 久久三级 | 免费看黄色一级大片 | 国精产品一区一区三区有限公司杨 | 国产黑丝在线视频 | 日韩av激情 | 久久亚洲色图 | 日韩一区二区在线观看 | 波多野结衣一二三四区 | 亚洲成人一 | 韩国毛片一区二区 | 九色蝌蚪视频 | 97视频播放| 国产日韩视频在线观看 | 一区二区三区四区视频在线观看 | 国产高清黄色 | 国产精品中文 | 国产成人精品免高潮在线观看 | 干美女视频| 亚洲av成人精品毛片 | 成人免费观看网址 | 用力挺进新婚白嫩少妇 | 欧美午夜寂寞影院 | 久久久久久久影视 | 天天干,天天干 | 影音先锋美女 | 国产h在线 | 97久久国产 | 91精品综合久久久久久五月天 | 日本啪啪片 | 亲嘴扒胸摸屁股激烈网站 | 久久99精品久久久久婷婷 | 超碰伊人网 | 日韩美女黄色 | 免费av免费观看 | 日韩中文字幕网 | 中文字幕人妻一区二区三区 | 国产三级三级三级三级三级 | 熟妇人妻精品一区二区三区视频 | 久青草影视 | 久久久穴 | 果冻av在线| 亚洲色图35p | 欧美一区亚洲 | 影音先锋国产 | 日本精品三级 | av在线浏览 | 欧美亚洲精品一区 | 99re免费视频精品全部 | 国产精品综合网 | 国产偷拍一区二区三区 | 97视频免费观看 | 99激情网| 国产精品v日韩精品v在线观看 | 亚洲色图欧美另类 | 蜜臀av一区二区三区激情综合 | av三级网 | 国产成人手机视频 | 国产精品中文 | 精品无码一区二区三区爱欲 | 国产麻豆久久 | 深夜在线 | 最新中文字幕第一页 | 麻豆av网站 | 浮妇高潮喷白浆视频 | 制服丝袜亚洲 | 亚洲超碰av| 欧美在线一区二区 | 99国产精品99 | 国外精品视频 | 女同av在线 | 黄色视屏在线免费观看 | 国产成人精品一区二三区 | 国产美女操 | 九九热伊人 | 蜜桃视频欧美 | 三级精品在线 | 国产一区视频在线免费观看 | 久久91 | 婷婷影视| 亚洲视频免费在线观看 | 在线国产区 | 亚洲成av人片在线观看无码 | 日本少妇与黑人 | 三上悠亚三级 | 肉大捧一进一出免费视频 | 熊猫成人网 | 又色又爽又黄无遮挡的免费视频 | 134vcc影院免费观看 | 久久国产精品国语对白 | 国产黄色av片 | 黑人与日本少妇 | 两性囗交做爰视频 | 中文字幕在线播放不卡 | 国产69视频在线观看 | 国产情侣呻吟对白高潮 | 久久99操 |