999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Java的可視化計算器實現(xiàn)

2014-10-21 14:24:29張文哲王璐崔洪宇
電子世界 2014年12期
關(guān)鍵詞:按鈕定義界面

張文哲 王璐 崔洪宇

在MyEclipse 8.6 運行環(huán)境下,應(yīng)用圖形用戶界面采用JAVA程序設(shè)計語言,實現(xiàn)簡單的計算器功能。本文利用Java Applet圖形界面首先開始設(shè)計一個計算器的界面,定義計算器所需要的按鈕并賦給其按鈕名稱,使得使用計算器時簡單明了,清晰可見,操作輕松。

1.界面設(shè)計

新建類caculator_1繼承JFrame并設(shè)置其位置大小關(guān)閉方式等即出現(xiàn)以上窗體。在整體布局中添加JPanel,采用網(wǎng)格布局添加20個JButton,分別代表不同的數(shù)字以及功能,還要添加一個現(xiàn)實輸入信息的文本框,用來顯示輸入的信息與最后結(jié)果。將文本框放在布局最上面,將20個JButton按一列5個按鈕顯示在布局中,使20個按鈕順序排列在布局上。計算器的整體界面如圖1所示。

圖1 可視化計算器界面

2.具體功能設(shè)計

(1)實現(xiàn)加、減、乘、除四則基本運算

在輸入加減乘除運算符之前,要先判斷一下是否已經(jīng)輸入操作數(shù),若輸入了,要先記錄前面輸入的操作數(shù),然后再進(jìn)行運算,否則默認(rèn)第一個操作數(shù)是零。用符號區(qū)分各種運算,來進(jìn)行不同種類的運算。

(2)能夠?qū)崿F(xiàn)求倒數(shù)、開方、取反運算

在進(jìn)行這幾個運算中只需要一個操作數(shù),所以輸入一個操作數(shù)之后,點擊對應(yīng)運算的按鈕,進(jìn)行運算操作。

(3)按鍵“C”能夠?qū)崿F(xiàn)清除文本框中的信息功能。

“CE”按鈕能夠?qū)崿F(xiàn)撤銷文本框的信息功能。

3.關(guān)鍵代碼

(1)實現(xiàn)四則運算的關(guān)鍵代碼

if (operator.equals("+")){resultNum += getNumberFromText();}

else if (operator.equals("-")){resultNum -= getNumber FromText();}

else if (operator.equals("*")){resultNum *= getNumber FromText();}

private void handleOperator(String key) {if (operator.equals("/");}

if (getNumberFromText() == .0){operateValidFlag = false;resultText.setText(“除數(shù)不能為零”);}

else {resultNum /= etNumberFromText();}

(2)實現(xiàn)開根號、倒數(shù)、定義相反數(shù)等運算的關(guān)鍵代碼

// 開根號運

if (temp == btn_Sqrt) { String s = txt.getText(); if (s.charAt(0) == '-') {JOptionPane.showMessageDialog(null, "負(fù)數(shù)不能開根號");} // 判斷符號是否符合運算規(guī)則

else {txt.setText(Double.toString(java.lang.Math.sqrt(Double.parseDouble(txt.getText()))));}

// 倒數(shù)運算

if (temp == btn_Dao) {if (txt.getText().charAt(0) == '0' && txt.getText().length() == 1) {// 判斷此數(shù)是否符合進(jìn)行倒數(shù)運算規(guī)則JOptionPane.showMessageDialog(null, "零不能求倒數(shù)");} else { boolean isDec = true;int i, j, k;String s = Double.toString(1 / Double(txt.getText()));

for (i = 0; i < s.length(); i++) { if (s.charAt(i) == '.') { break;}} for (j = i + 1; j < s.length(); j++) {if (s.charAt(j) != '0') { isDec = false; break;} } if (isDec == true) {String stemp = "";

for (k = 0; k < i; k++) { stemp += s.charAt(k); }xt.setText(stemp); } else {txt.setText(s);} }}

// 定義相反數(shù)按鈕

jButton16 = new JButton("+/-");

0-Double.parseDouble(jTextField.getText().trim()); Button16.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { double i2=0-Double.parseDouble(jTextField.getText().trim());jTextField.setText(Double.toString(i2));}}); 通過使用文本框中的數(shù)據(jù)變成其相反數(shù)

(3)實現(xiàn)“C”鍵、定義進(jìn)制轉(zhuǎn)換的關(guān)鍵代碼

// 按下C按鈕,文本框內(nèi)數(shù)據(jù)清除,同時middle,result清0

if (temp == btn_C) {

middle = result = 0;

txt.setText(“”);

}

//定義進(jìn)制轉(zhuǎn)換按鈕,jButton31、jButton34、jButton37、jButton40分別為十六進(jìn)制、十進(jìn)制、八進(jìn)制、二進(jìn)制,通過調(diào)用Integer.toHexString(n)十六進(jìn)制、Integer.toOctalString(n)八進(jìn)制、Integer.toBinaryString(n)二進(jìn)制來實現(xiàn)進(jìn)制之間的相互轉(zhuǎn)換。

4.結(jié)果與分析

1)計算6.8+7.5=14.3

本實例需要用戶通過按鈕輸入運算表達(dá)式,由界面提供數(shù)字和符號的按鈕,同時還能夠顯示輸入和輸出結(jié)果,當(dāng)進(jìn)行按下‘=鍵時,進(jìn)行表達(dá)式的求值。

先輸入5.6,按加號鍵,再輸入6.7,按等于號,得出最后結(jié)果。

2)取對數(shù)運算

按下ln按鈕,其方法是調(diào)用Math.log1p(i),當(dāng)對數(shù)值i大于0時就調(diào)用Math.ln(i)來輸出結(jié)果,當(dāng)i小于0時就在文本框中顯示負(fù)數(shù)不能求對數(shù)!5.結(jié)論

3)三角函數(shù)運算

三角函數(shù)sin、cos、tan在使用時需要先調(diào)用弧度按鈕,將相應(yīng)的角度轉(zhuǎn)換成弧度以后在使用三角函數(shù)對應(yīng)的按鈕才可以實現(xiàn)求三角函數(shù)的值。求弧度方法在定義弧度按鈕時實現(xiàn),string.valueOf(i/180*Math.PI)求對應(yīng)的弧度sin、cos、tan使用math中的方法。

5.結(jié)論

本設(shè)計是一個圖形界面的計算器,可以在標(biāo)準(zhǔn)計算器和科學(xué)計算器之間切換,標(biāo)準(zhǔn)計算器的基本功能有:加、減、乘、除等基本運算,科學(xué)計算器的基本功能有:三角函數(shù)、進(jìn)制轉(zhuǎn)換、開方運算、倒數(shù)運算等等,本計算器還可以支持鍵盤錄入功能,總的來說此計算器在設(shè)計上,優(yōu)雅美觀,功能全面,錯誤漏洞少。

猜你喜歡
按鈕定義界面
這些按鈕能隨便按嗎?
當(dāng)你面前有個按鈕
國企黨委前置研究的“四個界面”
基于FANUC PICTURE的虛擬軸坐標(biāo)顯示界面開發(fā)方法研究
人機(jī)交互界面發(fā)展趨勢研究
成功的定義
山東青年(2016年1期)2016-02-28 14:25:25
手機(jī)界面中圖形符號的發(fā)展趨向
新聞傳播(2015年11期)2015-07-18 11:15:04
內(nèi)心不能碰的按鈕
修辭學(xué)的重大定義
山的定義
主站蜘蛛池模板: 欧美精品影院| 91黄色在线观看| 国产精品亚洲日韩AⅤ在线观看| 国产日本一区二区三区| 久久美女精品| 真实国产乱子伦高清| 老司国产精品视频91| 男人天堂亚洲天堂| 国产免费怡红院视频| 国产欧美亚洲精品第3页在线| 亚洲人成影视在线观看| 色婷婷成人| 国产欧美综合在线观看第七页| 亚洲成a人片77777在线播放| 91福利在线观看视频| 亚洲国产成人麻豆精品| 色婷婷色丁香| 日韩欧美国产中文| 日本精品αv中文字幕| 奇米影视狠狠精品7777| 国产性爱网站| 亚洲天堂网2014| 99re在线观看视频| 亚洲男人的天堂在线观看| 国产一区在线观看无码| 制服丝袜国产精品| 国产三级成人| 亚洲国产欧美自拍| 欧美成人日韩| 亚洲国产欧美国产综合久久| 精品久久国产综合精麻豆| 18禁高潮出水呻吟娇喘蜜芽| 四虎亚洲国产成人久久精品| 久久精品视频一| 欧美日韩国产在线播放| 日韩少妇激情一区二区| 久久免费精品琪琪| 91久久国产热精品免费| 国产免费久久精品99re不卡 | 99re经典视频在线| 亚洲欧美人成电影在线观看| 亚洲国产综合精品一区| 国内黄色精品| 中文字幕无码电影| 久久精品亚洲中文字幕乱码| 国产微拍一区二区三区四区| 在线中文字幕网| 在线免费不卡视频| 自拍偷拍欧美日韩| 免费女人18毛片a级毛片视频| 韩国v欧美v亚洲v日本v| 亚洲最新在线| 无码中文字幕精品推荐| 五月天久久综合国产一区二区| 亚洲欧美日韩中文字幕在线| av午夜福利一片免费看| 精品欧美一区二区三区久久久| 国产午夜福利在线小视频| 久久人人97超碰人人澡爱香蕉| 亚洲天堂精品在线| 综合色区亚洲熟妇在线| 欧美特黄一级大黄录像| 国产区精品高清在线观看| 国产人人乐人人爱| 亚洲无限乱码一二三四区| 久久久久久久久久国产精品| 中文国产成人精品久久一| 色悠久久久久久久综合网伊人| 久热re国产手机在线观看| 亚洲无限乱码| 亚洲欧美在线综合图区| 尤物国产在线| AV熟女乱| 亚洲天堂网在线观看视频| 麻豆AV网站免费进入| 69av免费视频| 国产免费羞羞视频| 亚洲国产精品日韩专区AV| 欧美成人看片一区二区三区| 91丝袜美腿高跟国产极品老师| 在线日本国产成人免费的| 日韩人妻精品一区|