java小程序死机_烦请前辈们看一下,这个小程序我卡住了

得分:10

ca56232b3bbedf9a539d07f37fffb99a.gif

3144d8b7615c79d9f638db40d5689d26.gif

a218af6549b45ee526caf607ebff1358.gif

0f8df0e29816ae721419de940fb833d1.gif

给你点提示,这是以前做的你参考一下

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

public class Jsuanji extends JFrame implements ActionListener{

private JPanel jPanel1,jPanel2;

private JTextField resultField;

private JButton s1,s2,s3,s4,s5,s6,s7,s8,s9,s0,b1,b2,b3,b4,f1,f2;

private boolean end,add,sub,mul,div;

private String str;

private double num1,num2;

public Jsuanji(){

super("计算器");

setSize(300,240);

Container con=getContentPane();

con.setLayout(new BorderLayout());

jPanel1=new JPanel();

jPanel1.setLayout(new GridLayout(1,1));

jPanel2=new JPanel();

jPanel2.setLayout(new GridLayout(4,4));

resultField=new JTextField("0");

jPanel1.add(resultField);

con.add(jPanel1,BorderLayout.NORTH);

s1=new JButton("  1  ");  s1.addActionListener(this);

s2=new JButton("  2  ");  s2.addActionListener(this);

s3=new JButton("  3  ");  s3.addActionListener(this);

s4=new JButton("  4  ");  s4.addActionListener(this);

s5=new JButton("  5  ");  s5.addActionListener(this);

s6=new JButton("  6  ");  s6.addActionListener(this);

s7=new JButton("  7  ");  s7.addActionListener(this);

s8=new JButton("  8  ");  s8.addActionListener(this);

s9=new JButton("  9  ");  s9.addActionListener(this);

s0=new JButton("  0  ");  s0.addActionListener(this);

b1=new JButton("  +  ");  b1.addActionListener(this);

b2=new JButton("  -  ");  b2.addActionListener(this);

b3=new JButton("  *  ");  b3.addActionListener(this);

b4=new JButton("  /  ");  b4.addActionListener(this);

f1=new JButton("  .  ");  f1.addActionListener(this);

f2=new JButton("  =  ");  f2.addActionListener(this);

jPanel2.add(s1);

jPanel2.add(s2);

jPanel2.add(s3);

jPanel2.add(b1);

jPanel2.add(s4);

jPanel2.add(s5);

jPanel2.add(s6);

jPanel2.add(b2);

jPanel2.add(s7);

jPanel2.add(s8);

jPanel2.add(s9);

jPanel2.add(b3);

jPanel2.add(s0);

jPanel2.add(f1);

jPanel2.add(f2);

jPanel2.add(b4);

con.add(jPanel2,BorderLayout.CENTER);

}

public void num(int i){

String s = null;

s=String.valueOf(i);

if(end){

//如果数字输入结束,则将文本框置零,重新输入

resultField.setText("0");

end=false;

}

if((resultField.getText()).equals("0")){

//如果文本框的内容为零,则覆盖文本框的内容

resultField.setText(s);

}

else{

//如果文本框的内容不为零,则在内容后面添加数字

str = resultField.getText() + s;

resultField.setText(str);

}

}

public void actionPerformed(ActionEvent e){ //数字事件

if(e.getSource()==s1)

num(1);

else if(e.getSource()==s2)

num(2);

else if(e.getSource()==s3)

num(3);

else if(e.getSource()==s4)

num(4);

else if(e.getSource()==s5)

num(5);

else if(e.getSource()==s6)

num(6);

else if(e.getSource()==s7)

num(7);

else if(e.getSource()==s8)

num(8);

else if(e.getSource()==s9)

num(9);

else if(e.getSource()==s0)

num(0);

//符号事件

else if(e.getSource()==b1)

sign(1);

else if(e.getSource()==b2)

sign(2);

else if(e.getSource()==b3)

sign(3);

else if(e.getSource()==b4)

sign(4);

//等号

else if(e.getSource()==f1){

str=resultField.getText();

if(str.indexOf(".")<=1){

str+=".";

resultField.setText(str);

}

}

else if(e.getSource()==f2){

num2=Double.parseDouble(resultField.getText());

if(add){

num1=num1 + num2;}

else if(sub){

num1=num1 - num2;}

else if(mul){

num1=num1 * num2;}

else if(div){

num1=num1 / num2;}

resultField.setText(String.valueOf(num1));

end=true;

}

}

public void sign(int s){

if(s==1){

add=true;

sub=false;

mul=false;

div=false;

}

else if(s==2){

add=false;

sub=true;

mul=false;

div=false;

}

else if(s==3){

add=false;

sub=false;

mul=true;

div=false;

}

else if(s==4){

add=false;

sub=false;

mul=false;

div=true;

}

num1=Double.parseDouble(resultField.getText());

end=true;

}

public static void main(String[] args){

Jsuanji th1=new Jsuanji();

th1.show();

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值