import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Calculator extends JFrame implements ActionListener {
/**
*
*/
private static final long serialVersionUID = 1L;
private JTextField text;
private char op;
private float value;
private boolean first;
public Calculator()
{
super("计算器");
this.setSize(280,210);
this.setLocation(300,240);
this.display();
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setVisible(true);
op='+';
value=0.0f;
first=true;
}
private void display()
{
text = new JTextField("0.",30);
text.setHorizontalAlignment(JTextField.RIGHT);
text.setEditable(false);
this.getContentPane().add(text,"North");
JPanel panel = new JPanel(new GridLayout(5,4,5,5));
this.getContentPane().add(panel);
String str[]={"sqrt","+/-","Backspace","C","7","8","9","/","4","5","6","*","1","2","3","-","0",".","=","+"};
JButton buttons[] = new JButton[str.length];
for (int i=0; i<buttons.length; i++)
{
buttons[i] = new JButton(str[i]);
panel.add(buttons[i]);
buttons[i].addActionListener(this);
}
}
public void actionPerformed(ActionEvent e)
{
String current = e.getActionCommand();
if (current=="C")
{
text.setText("0.");
value = 0.0f;
first = true;
return;
}
if (current=="Backspace")
{
String str=text.getText().substring(0,text.getText().length()-1);
text.setText(str);
if (str=="")
{
text.setText("0.");
first = true;
}
return;
}
if (current.charAt(0)>='0' && current.charAt(0)<='9' || current==".")
{
if (first)
{
text.setText("");
first = false;
}
text.setText(text.getText()+current);
}
else
{
System.out.print(""+value+op+text.getText()+"=");
switch (op)
{
case '+': value += Float.parseFloat(text.getText());break;
case '-': value -= Float.parseFloat(text.getText());break;
case '*': value *= Float.parseFloat(text.getText());break;
case '/': value /= Float.parseFloat(text.getText());break;
}
System.out.println(""+value);
text.setText(""+value);
op = current.charAt(0);
first = true;
}
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
new Calculator();
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
test_java.rar_Java 8
共43个文件
class:13个
java:10个
project:10个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 18 浏览量
2022-09-24
05:25:56
上传
评论
收藏 26KB RAR 举报
温馨提示
1、 求一维数组的最大值和最小值 2、 用一维数组输出杨辉三角 3、 找出一个二维数组的鞍点 4、 找出两个字符串中所有共同的字符 5、 输出金额的中文大写形式 6、 实现一个复数类 7、 实现一个银行账户类 8、 编写程序实现判断及识别标识符的功能 9、 实现一个计算器 10、 编程实现一个用户登录窗口,其中用户名要求为10位的数字,且第一个数字不能为0.
资源推荐
资源详情
资源评论
收起资源包目录
test_java.rar (43个子文件)
test_java
test06
bin
Complex.class 2KB
Complex__ex.class 1KB
src
Complex.java 2KB
.project 382B
.classpath 232B
test03
bin
Dortpoint.class 1KB
src
Dortpoint.java 1KB
.project 382B
.classpath 232B
test09
bin
Calculator.class 4KB
src
Calculator.java 3KB
.project 382B
.classpath 232B
test04
bin
Samechar.class 1KB
src
Samechar.java 560B
.project 382B
.classpath 232B
test02
bin
Yanghui.class 927B
src
Yanghui.java 615B
.project 382B
.classpath 232B
test01
bin
Arraymaxandmin.class 1KB
src
Arraymaxandmin.java 806B
.project 382B
.classpath 232B
test07
bin
Fetch.class 2KB
Account.class 834B
Save.class 1KB
src
Account.java 3KB
.project 382B
.classpath 232B
test08
bin
Identifier.class 2KB
src
Identifier.java 1KB
.project 382B
.classpath 232B
test10
bin
Userlogwind.class 3KB
src
Userlogwind.java 2KB
.project 382B
.classpath 232B
test05
bin
RMB.class 1KB
src
RMB.java 721B
.project 382B
.classpath 232B
共 43 条
- 1
资源评论
朱moyimi
- 粉丝: 61
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- base.apk
- Vue 结合 D3.js 进行数据可视化开发的练手案例.zip
- 语音模块使用说明_jr6001调试工具.html
- 毕业设计-reat18货物运输后台管理系统
- Qt tcp通信(exe)
- tensorflow-gpu-2.7.3-cp39-cp39-manylinux2010-x86-64.whl
- tensorflow-2.8.0-cp37-cp37m-manylinux2010-x86-64.whl
- tensorflow-2.7.4-cp39-cp39-manylinux2010-x86-64.whl
- HTML后台管理系统源49套合集 H5模板源码下载 总有一款适合你 静态页面
- DDColor-PDF文献
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功