实验十

package 实验十;

 

import java.awt.*;

import java.awt.event.*;

public class Jisuanqi {

public static void main(String[] args) {

new MyFrame("计算器");

}

}

class MyFrame extends Frame{

private static final long serialVersionUID = 1L;

private TextArea ta;

public MyFrame(String title){

super(title);

SetTextAreas();

SetButtonArea();

SetMainFram();

}

private void SetButtonArea() {

addButton("7",33,28,20,178);

addButton("8",33,28,58,178);

addButton("9",33,28,96,178);

addButton("/",33,28,134,178);

addButton("%",33,28,172,178);

addButton("4",33,28,20,210);

addButton("5",33,28,58,210);

addButton("6",33,28,96,210);

addButton("*",33,28,134,210);

addButton("1/x",33,28,172,210);

addButton("1",33,28,20,242);

addButton("2",33,28,58,242);

addButton("3",33,28,96,242);

addButton("-",33,28,134,242);

addButton("0",71,28,20,274);

addButton(".",33,28,96,274);

addButton("+",33,28,134,274);

addButton("=",33,60,172,242);

}

double m,n;

String k;

boolean flag =true;

boolean flag2 =false;

private void addButton(String string, int i, int j,int x,int y) {

final Button b = new Button(string);

b.setLocation(x, y);

b.setSize(i, j);

b.setFont(new Font("标楷体", Font.BOLD, 15));

b.setBackground(Color.pink);

b.setForeground(Color.darkGray);

b.addMouseListener(new MouseAdapter() {

@Override

public void mousePressed(MouseEvent e) {

counts();

}

private void counts() {

if(ta.getText().equals("")&&(b.getActionCommand().equals("+")||

b.getActionCommand().equals("-")||

b.getActionCommand().equals("*")||

b.getActionCommand().equals("/")||

b.getActionCommand().equals("%")||

b.getActionCommand().equals("1/x")||

b.getActionCommand().equals("="))) {

}else if(ta.getText().equals(".")&&(b.getActionCommand().equals("+")||

b.getActionCommand().equals("-")||

b.getActionCommand().equals("*")||

b.getActionCommand().equals("/")||

b.getActionCommand().equals("%")||

b.getActionCommand().equals("1/x")||

b.getActionCommand().equals("="))){

}else {

if( b.getActionCommand().equals("+")||

b.getActionCommand().equals("-")||

b.getActionCommand().equals("*")||

b.getActionCommand().equals("%")||

b.getActionCommand().equals("1/x")||

b.getActionCommand().equals("/")){

if(flag2 = true) {

flag2 = false;

}

if(flag) {

n = new Double(ta.getText()).doubleValue();

flag = false;

}else {

if(k=="="){

}else {

m = new Double(ta.getText()).doubleValue();

if(k == "-") {

if(n==0)

n = m;

else

n=n-m;

}else if(k == "+") {

if(n==0)

n = m;

else

n=n+m;

}else if(k == "*") {

if(n==0)

n = m;

else

n=n*m;

}else if(k=="%"){

if(n==0)

n=m;

else

m=m*100;

}else if(k=="1/x"){

if(n==0)

n=m;

else

n=1/m;

}else if(k == "/") {

if(n==0)

n = m;

else

n=n/m;

}

}

}

k = b.getActionCommand();

ta.setText("");

}else if(b.getActionCommand().equals("=")) {

m = new Double(ta.getText()).doubleValue();

if(k == "+") {

ta.setText("");

ta.append(n+"+"+m);

ta.append(System.getProperty("line.separator"));

n = n+m;

ta.append("="+n);

}else if(k == "-") {

ta.setText("");

ta.append(n+"-"+m);

ta.append(System.getProperty("line.separator"));

n = n-m;

ta.append("="+n);

}else if(k == "*") {

ta.setText("");

ta.append(n+"*"+m);

ta.append(System.getProperty("line.separator"));

n = n*m;

ta.append("="+n);

}else if(k == "%") {

ta.setText("");

ta.append("%"+m);

ta.append(System.getProperty("line.separator"));

m = m*100;

ta.append("="+m+"%");

}else if(k == "1/x") {

ta.setText("");

ta.append(1+"/"+m);

ta.append(System.getProperty("line.separator"));

n = 1/m;

ta.append("="+n);

}else if(k == "/") {

ta.setText("");

ta.append(n+"/"+m);

ta.append(System.getProperty("line.separator"));

n= n/m;

ta.append("="+n);

}

k="=";

flag2 = true;

}else {

if(flag2) {

flag = true;

flag2 = false;

ta.setText("");

m = n =0;

}

ta.append(b.getActionCommand());

}

}

}

});

this.add(b);

}

private void SetTextAreas() {

ta = new TextArea("0",8,52,3);

ta.setBackground(Color.lightGray);

ta.setSize(190, 50);

ta.setFont(new Font("标楷体", Font.BOLD, 15));

ta.setLocation(20,60);

this.add(ta);

this.add(ta);

}

@SuppressWarnings("deprecation")

private void SetMainFram() {

this.setLayout(null);

this.setSize(220,310);

this.setVisible(true);

this.setLocation(310, 340);

this.setResizable(false);

ta.setEditable(false);

this.setCursor(Cursor.HAND_CURSOR);

this.addWindowListener(new WindowAdapter() {

public void windowClosing(WindowEvent e) {

System.exit(0);

}

});

}

}

 

 

转载于:https://www.cnblogs.com/hhyy/p/10969303.html

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值