问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

java做个小程序 100-200代码就行了

发布网友 发布时间:2022-05-16 04:04

我来回答

2个回答

热心网友 时间:2023-10-10 19:58

我给你一个功能强大的计算器!已运行通过!
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class Calculator3 extends JFrame implements ActionListener {
private boolean dotExist, operated, equaled; // 帮助运算的布尔变量
private double storedNumber; // 目前的结果
private char lastOperator; // 表示上一运算符
private JTextField operation; // 结果栏
private JButton dot, plus, minus, multi, div, sqrt, equal, changePN, clear; // 运算符
private JButton[] numbers; // 数字
// 构造者

public Calculator3() {
setTitle("Calculator");
// 初始化变量
dotExist = false; // 表示当前的数是否有小数点
operated = false; // 表示任意运算符是否被按下
equaled = false; // 表示等号是否被按下
storedNumber = 0;
lastOperator = '?';
// 初始化窗口变量
operation = new JTextField("0");
operation.setEditable(false);
numbers = new JButton[10];
for (int i = 0; i < 10; i++)
numbers[i] = new JButton("" + i);
dot = new JButton(".");
plus = new JButton("+");
minus = new JButton("-");
multi = new JButton("*");
div = new JButton("/");
sqrt = new JButton("√");
equal = new JButton("=");
changePN = new JButton("±");
clear = new JButton("AC");
// 将窗口物体放入窗口
GridBagLayout layout = new GridBagLayout();
getContentPane().setLayout(layout);
addComponent(layout, operation, 0, 0, 4, 1);
addComponent(layout, numbers[1], 1, 0, 1, 1);
addComponent(layout, numbers[2], 1, 1, 1, 1);
addComponent(layout, numbers[3], 1, 2, 1, 1);
addComponent(layout, numbers[4], 2, 0, 1, 1);
addComponent(layout, numbers[5], 2, 1, 1, 1);
addComponent(layout, numbers[6], 2, 2, 1, 1);
addComponent(layout, numbers[7], 3, 0, 1, 1);
addComponent(layout, numbers[8], 3, 1, 1, 1);
addComponent(layout, numbers[9], 3, 2, 1, 1);
addComponent(layout, dot, 4, 0, 1, 1);
addComponent(layout, numbers[0], 4, 1, 1, 1);
addComponent(layout, sqrt, 4, 2, 1, 1);
addComponent(layout, plus, 1, 3, 1, 1);
addComponent(layout, minus, 2, 3, 1, 1);
addComponent(layout, multi, 3, 3, 1, 1);
addComponent(layout, div, 4, 3, 1, 1);
addComponent(layout, equal, 5, 0, 2, 1);
addComponent(layout, changePN, 5, 2, 1, 1);
addComponent(layout, clear, 5, 3, 1, 1);
}

// 对按钮进行反应的方法
public void actionPerformed(ActionEvent e) {
JButton btn = (JButton) e.getSource();
if (btn == clear) {
operation.setText("0");
dotExist = false;
storedNumber = 0;
lastOperator = '?';
} else if (btn == equal) {
operate('=');
equaled = true;
} else if (btn == plus) {
operate('+');
equaled = false;
} else if (btn == minus) {
operate('-');
equaled = false;
} else if (btn == multi) {
operate('*');
equaled = false;
} else if (btn == div) {
operate('/');
equaled = false;
} else if (btn == changePN) {
operate('p');
operate('=');
equaled = true;
} else if (btn == sqrt) {
operate('s');
operate('=');
equaled = true;
} else {
if (equaled)
storedNumber = 0;
for (int i = 0; i < 10; i++)
if (btn == numbers[i]) {
if (operation.getText().equals("0"))
operation.setText("" + i);
else if (!operated)
operation.setText(operation.getText() + i);
else {
operation.setText("" + i);
operated = false;
}
}
if (btn == dot && !dotExist) {
operation.setText(operation.getText() + ".");
dotExist = true;
}
}
}

// 进行运算的方法
private void operate(char operator) {
double currentNumber = Double.valueOf(operation.getText())
.doubleValue();
if (lastOperator == '?')
storedNumber = currentNumber;
else if (lastOperator == '+')
storedNumber += currentNumber;
else if (lastOperator == '-')
storedNumber -= currentNumber;
else if (lastOperator == '*')
storedNumber *= currentNumber;
else if (lastOperator == '/')
storedNumber /= currentNumber;
else if (lastOperator == 'p')
storedNumber *= -1;
else if (lastOperator == 's')
storedNumber = Math.sqrt(currentNumber);
else if (lastOperator == '=' && equaled)
storedNumber = currentNumber;
operation.setText("" + storedNumber);
operated = true;
lastOperator = operator;
}

// 快捷使用GridBagLayout的方法
private void addComponent(GridBagLayout layout, Component component,
int row, int col, int width, int height) {
GridBagConstraints constraints = new GridBagConstraints();
constraints.fill = GridBagConstraints.BOTH;
constraints.insets = new Insets(10, 2, 10, 2);
constraints.weightx = 100;
constraints.weighty = 100;
constraints.gridx = col;
constraints.gridy = row;
constraints.gridwidth = width;
constraints.gridheight = height;
layout.setConstraints(component, constraints);
if (component instanceof JButton)
((JButton) component).addActionListener(this);
getContentPane().add(component);
}

// 主方法初始化并显示窗口
public static void main(String[] args) {
Calculator3 calc = new Calculator3();
calc.setSize(290, 400);
calc.setVisible(true);
}
}

热心网友 时间:2023-10-10 19:58

说你邮箱 把我以前做的贪吃蛇发给你

或者+qq 381236663
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
临沂比较有名的男装品牌 呼伦贝尔市悦动网络科技有限公司怎么样? 呼伦贝尔中汇实业有限公司怎么样? 呼伦贝尔油玉不绝电子商务有限公司怎么样? 如何避免wps卡顿? 属鼠的男人找对象是属什么,属鼠的人和什么属相合 96年鼠的姻缘在哪年 属相相合年份运势提升 2024属鼠找对象属什么最佳 黑客攻击网站能报案吗 黑客攻击报案有用吗 华硕笔记本电脑开机直接进入bios怎么办 华硕笔记本电脑进入BIOS界面怎么更改CDROM 贷款买车续保问题 分期付款买车保险到了要怎样续保 华为下载什么主题桌面 教材有编辑错误,注意,是编辑错误,不是印刷错误,是上海教育出版社出版的,我该怎么联系?cip书号已_百度问一问 关于使用教科书中内容的版权问题,懂法律的大虾进来看看~ 韩国手机怎么录制别人的视频 北京中关村中学国科大实验班2021年高考被985录取多少h 法律咨询在线等 关于出版 中科大26岁特任教授攻克世界难题,为何年纪轻轻就取得如此成就? 中国科学院大学与浙江大学哪个好 成都会计从业资格证考试什么时候领准考证 莲子猪肺炖白萝卜吃了什么坏处 蛙花煮鸡蛋的用途 莲字扩词有什么、莲花、莲子 四川会计考试延迟到多久? 以前在餐厅点一盘凉菜莲子红枣或马蹄红枣,只不过那是小红枣,白色的莲子或马蹄,红色的枣,甜甜的很好吃 请问中国科学院大学(国科大)知名度和影响力怎么样? 成都市考试网2011年会计职称考试什么时间报名? 邓州张楼乡有菜鸟驿站吗? 777034896062902,777034895955845帮我查快递到哪里了? 跪求富士通fi6130z驱动 富士通fi6130z 送纸能力下降时,请更换送纸器的抓纸棍 怎么把提示去掉 *#*#6130#*#* 图像扫描仪老是卡纸怎么办型号fi—6130z有时扫描过两三张就卡住 matlab令导数等于0求解根 店名测试打分 雅阁 布艺 和 馨怡布艺 用天赐佳缘店名打分,能有多少分 店名(四义轩)测试打分 新开的可以开通视频号吗? 店名测试打分焱垚鑫美容养生馆 店名测试打分; 店名是杏芳服饰,哪位行家帮忙解答一下,谢谢 杭州古墩路是在什么区啊? 女生宿舍上映了吗? 话说有人看过电影《女生宿舍》吗?好看不? 浙江省杭州市余杭区良渚街道池华街与古墩路交叉口离钱塘江远吗_百度问一问 电影女生宿舍根据哪部小说拍的 富士变频器不能调整减速时间.进入F08和E11都不能调整 谁能告诉一下这部电影名字