日韩性视频-久久久蜜桃-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之实现计算器的全部內容,希望文章能夠幫你解決所遇到的問題。

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