java簡(jiǎn)單實(shí)現(xiàn)計(jì)算器
本文實(shí)例為大家分享了java簡(jiǎn)單實(shí)現(xiàn)計(jì)算器的具體代碼,供大家參考,具體內(nèi)容如下
public class Calculator {
static ScriptEngine jse = new ScriptEngineManager().getEngineByName("JavaScript");
private static void CreateFrame() {
JFrame f = new JFrame("計(jì)算器");
f.setSize(600, 500);
f.setVisible(true);
f.setLayout(new BorderLayout());
f.setLayout(new GridLayout(6, 3));
f.setLocation(300, 150);
JTextArea text = new JTextArea(20, 0);
f.add(text, BorderLayout.NORTH);
JButton but1 = new JButton("CE");
f.add(but1, BorderLayout.PAGE_END);
String a[] = { "=", "7", "8", "9", "4", "5", "6", "1", "2", "3", "0", "+", "-", "*", "/", "." };
JButton btn[] = new JButton[a.length];
for (int i = 0; i < a.length; i++) {
btn[i] = new JButton(a[i]);
f.add(btn[i]);
}
// 功能實(shí)現(xiàn)
for (int i = 0; i < a.length; i++) {
// 如果不是等于號(hào)
if (i != 0) {
int j = i;
btn[i].addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String s = btn[j].getText();// 獲取文本框內(nèi)容
text.append(s);
}
});
} else {
// 如果點(diǎn)擊等于號(hào)
btn[i].addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
try {
// 獲取文本框內(nèi)容
String gongshi = text.getText();
// 計(jì)算獲取的文本框中的內(nèi)容
String jieguo = jse.eval(gongshi).toString();
text.setText("=");
text.setText(jieguo);
} catch (Exception t) {
text.setText("");
}
}
});
// CE按鈕
but1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (e.getSource() == but1) {
text.setText("");
}
}
});
}
}
}
public static void main(String[] args) {
SwingUtilities.invokeLater(Calculator::CreateFrame);
}
}
效果圖:

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Java簡(jiǎn)易計(jì)算器程序設(shè)計(jì)
- java模仿windows計(jì)算器示例
- java實(shí)現(xiàn)簡(jiǎn)易計(jì)算器功能
- Java swing實(shí)現(xiàn)的計(jì)算器功能完整實(shí)例
- java圖形界面AWT編寫(xiě)計(jì)算器
- 使用jsp調(diào)用javabean實(shí)現(xiàn)超簡(jiǎn)單網(wǎng)頁(yè)計(jì)算器示例
- Java實(shí)現(xiàn)計(jì)算器的代碼
- java 簡(jiǎn)單的計(jì)算器程序?qū)嵗a
- java實(shí)現(xiàn)簡(jiǎn)單的計(jì)算器類實(shí)例
- java按鈕控件數(shù)組實(shí)現(xiàn)計(jì)算器界面示例分享
相關(guān)文章
使用SpringBoot + Redis + Vue實(shí)現(xiàn)動(dòng)態(tài)路由加載頁(yè)面的示例代
在現(xiàn)代 Web 應(yīng)用開(kāi)發(fā)中,動(dòng)態(tài)路由加載能夠顯著提升應(yīng)用的靈活性和安全性,本文將深入探討如何利用 Spring Boot、Redis、Element UI 和 Vue 技術(shù)棧實(shí)現(xiàn)動(dòng)態(tài)路由加載,并通過(guò) Redis 生成和驗(yàn)證有效鏈接以實(shí)現(xiàn)頁(yè)面訪問(wèn)控制,需要的朋友可以參考下2024-09-09
Mac下安裝配置Maven并在IDEA中配置的詳細(xì)教程
這篇文章主要介紹了Mac下安裝配置Maven并在IDEA中配置,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-07-07
jpa多條件查詢重寫(xiě)Specification的toPredicate方法
這篇文章主要介紹了多條件查詢重寫(xiě)Specification的toPredicate方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-11-11
SpringBoot項(xiàng)目啟動(dòng)報(bào)錯(cuò):命令行太長(zhǎng)解決的兩種解決方法
SpringBoot項(xiàng)目啟動(dòng)時(shí)可能會(huì)遇到命令行太長(zhǎng)的錯(cuò)誤,本文介紹兩種解決方法修改.idea\workspace.xml文件和執(zhí)行maven的clean命令或重啟IDEA,這些操作可以有效解決啟動(dòng)問(wèn)題,需要的朋友可以參考下2024-10-10
springboot讀取bootstrap配置及knife4j版本兼容性問(wèn)題及解決
這篇文章主要介紹了springboot讀取bootstrap配置及knife4j版本兼容性問(wèn)題及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-06-06
JavaWeb中的常用的請(qǐng)求傳參注解說(shuō)明
這篇文章主要介紹了JavaWeb中的常用的請(qǐng)求傳參注解說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-04-04

