import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
public class test1 extends JFrame implements ActionListener
{ private JTextField text;
private double result=0;
private String op=" ";
public test1()
{
setTitle("计算器");
JPanel p5=new JPanel();
text=new JTextField(20);
p5.add(text);
JPanel p1=new JPanel();
p1.setLayout(new FlowLayout());
JButton b1=new JButton("1");
b1.setForeground(Color.blue);
JButton b2=new JButton("2");
b2.setForeground(Color.blue);
JButton b3=new JButton("3");
b3.setForeground(Color.blue);
JButton b10=new JButton("+");
b10.setForeground(Color.blue);
JButton b11=new JButton("C");
b11.setForeground(Color.blue);
p1.add(b1);
p1.add(b2);
p1.add(b3);
p1.add(b10);
p1.add(b11);
JPanel p2=new JPanel();
p2.setLayout(new FlowLayout());
JButton b4=new JButton("4");
b4.setForeground(Color.blue);
JButton b5=new JButton("5");
b5.setForeground(Color.blue);
JButton b6=new JButton("6");
b6.setForeground(Color.blue);
JButton b12=new JButton("-");
b12.setForeground(Color.blue);
JButton b13=new JButton("%");
b13.setForeground(Color.blue);
p2.add(b4);
p2.add(b5);
p2.add(b6);
p2.add(b12);
p2.add(b13);
JPanel p3=new JPanel();
p3.setLayout(new FlowLayout());
JButton b7=new JButton("7");
b7.setForeground(Color.blue);
JButton b8=new JButton("8");
b8.setForeground(Color.blue);
JButton b9=new JButton("9");
b9.setForeground(Color.blue);
JButton b14=new JButton("*");
b14.setForeground(Color.blue);
JButton b15=new JButton("1/x");
b15.setForeground(Color.blue);
p3.add(b7);
p3.add(b8);
p3.add(b9);
p3.add(b14);
p3.add(b15);
JPanel p4=new JPanel();
p4.setLayout(new FlowLayout());
JButton b0=new JButton("0");
b0.setForeground(Color.blue);
JButton b16=new JButton(".");
b16.setForeground(Color.blue);
JButton b17=new JButton("=");
b17.setForeground(Color.blue);
JButton b18=new JButton("/");
b18.setForeground(Color.blue);
JButton b19=new JButton("sqrt");
b19.setForeground(Color.blue);
p4.add(b0);
p4.add(b16);
p4.add(b17);
p4.add(b18);
p4.add(b19);
JPanel panel=new JPanel();
panel.setLayout(new BoxLayout(panel,BoxLayout.Y_AXIS));
panel.add(p5);
panel.add(p1);
panel.add(p2);
panel.add(p3);
panel.add(p4);
JButton[] button={b0,b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13,b14,b15,b16,b17,b18,b19};
add(panel);
for(int i=0;i<button.length;i++)
{
button[i].addActionListener(this);
}
}
public void actionPerformed(ActionEvent e)
{
int key=0;
boolean newNumber=true;
String actionCommand=e.getActionCommand();
if(e.getSource() instanceof JButton)
{
if('0'<=actionCommand.charAt(0)&&actionCommand.charAt(0)<='9')
{
if(newNumber)
{
result=Double.parseDouble(text.getText()+actionCommand);
text.setText(text.getText()+actionCommand);
}
else
{
if(key==0)
{
text.setText(actionCommand);
}
if(key==1)
{
text.setText(text.getText()+actionCommand);
}
key=1;
}
if(actionCommand=="=") Calcutator();
else
{
op=actionCommand;
Calcutator();
text.setText(String.valueOf(result));
newNumber=false;
}
}
}
}
public void Calcutator()
{
double number = new Double(text.getText()).doubleValue();
switch(op.charAt(0))
{
case '+':
result+=number;break;
case '-':
result-=number;break;
case '*':
result*=number;break;
case '/':
result/=number;break;
case '%':
result/=number;break;
case 'C':
text.setText(" ");break;
}
if(op=="sqrt")
{
result=Math.sqrt(result);
}
if(op=="1/x")
result=1/result;
}
public static void main(String[]args)
{
test1 frame=new test1();
frame.pack();
frame.setVisible(true);
frame.setResizable(false);
}
}
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
public class test1 extends JFrame implements ActionListener
{ private JTextField text;
private double result=0;
private String op="=";
public test1()
{
setTitle("计算器");
JPanel p5=new JPanel();
text=new JTextField(20);
p5.add(text);
JPanel p1=new JPanel();
p1.setLayout(new FlowLayout());
JButton b1=new JButton("1");
b1.setForeground(Color.blue);
JButton b2=new JButton("2");
b2.setForeground(Color.blue);
JButton b3=new JButton("3");
b3.setForeground(Color.blue);
JButton b10=new JButton("+");
b10.setForeground(Color.blue);
JButton b11=new JButton("C");
b11.setForeground(Color.blue);
p1.add(b1);
p1.add(b2);
p1.add(b3);
p1.add(b10);
p1.add(b11);
JPanel p2=new JPanel();
p2.setLayout(new FlowLayout());
JButton b4=new JButton("4");
b4.setForeground(Color.blue);
JButton b5=new JButton("5");
b5.setForeground(Color.blue);
JButton b6=new JButton("6");
b6.setForeground(Color.blue);
JButton b12=new JButton("-");
b12.setForeground(Color.blue);
JButton b13=new JButton("%");
b13.setForeground(Color.blue);
p2.add(b4);
p2.add(b5);
p2.add(b6);
p2.add(b12);
p2.add(b13);
JPanel p3=new JPanel();
p3.setLayout(new FlowLayout());
JButton b7=new JButton("7");
b7.setForeground(Color.blue);
JButton b8=new JButton("8");
b8.setForeground(Color.blue);
JButton b9=new JButton("9");
b9.setForeground(Color.blue);
JButton b14=new JButton("*");
b14.setForeground(Color.blue);
JButton b15=new JButton("1/x");
b15.setForeground(Color.blue);
p3.add(b7);
p3.add(b8);
p3.add(b9);
p3.add(b14);
p3.add(b15);
JPanel p4=new JPanel();
p4.setLayout(new FlowLayout());
JButton b0=new JButton("0");
b0.setForeground(Color.blue);
JButton b16=new JButton(".");
b16.setForeground(Color.blue);
JButton b17=new JButton("=");
b17.setForeground(Color.blue);
JButton b18=new JButton("/");
b18.setForeground(Color.blue);
JButton b19=new JButton("sqrt");
b19.setForeground(Color.blue);
p4.add(b0);
p4.add(b16);
p4.add(b17);
p4.add(b18);
p4.add(b19);
JPanel panel=new JPanel();
panel.setLayout(new BoxLayout(panel,BoxLayout.Y_AXIS));
panel.add(p5);
panel.add(p1);
panel.add(p2);
panel.add(p3);
panel.add(p4);
JButton[] button={b0,b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13,b14,b15,b16,b17,b18,b19};
add(panel);
for(int i=0;i<button.length;i++)
{
button[i].addActionListener(this);
}
}
public void actionPerformed(ActionEvent e)
{
boolean newNumber=true;
String actionCommand=e.getActionCommand();
if(e.getSource() instanceof JButton)
{
if('0'<=actionCommand.charAt(0)&&actionCommand.charAt(0)<='9'||actionCommand.charAt(0)=='.')
{
if(newNumber)
{
text.setText(actionCommand);
}
else
{
text.setText(text.getText()+actionCommand);
}
newNumber=false;
}
else
{
if(newNumber)
{
if(actionCommand.equals("-"))
{
text.setText(actionCommand);
newNumber=false;
}
else
{
op=actionCommand;
}
}
else
{
op=actionCommand;
Calcutator(Double.parseDouble(text.getText()));
newNumber=true;
}
}
}
}
public void Calcutator(double number)
{
if(op.equals("+")) result+=number;
else if(op.equals("-")) result-=number;
else if(op.equals("*")) result*=number;
else if(op.equals("/")) result/=number;
else if(op.equals("%")) result/=number;
else if(op.equals("sqrt")) result=Math.sqrt(result);
else if(op.equals("1/x")) result=1/result;
else if(op.equals("=")) result=number;
text.setText(Double.toString(result));
}
public static void main(String[]args)
{
test1 frame=new test1();
frame.pack();
frame.setVisible(true);
frame.setResizable(false);
}
}改了一些 但是还是错的……
其实我知道哪里错了……
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
public class test1 extends JFrame implements ActionListener
{ private JTextField text;
private double result=0;
private String op="=";
private boolean newNumber=true;
public test1()
{
setTitle("计算器");
JPanel p5=new JPanel();
text=new JTextField(20);
p5.add(text);
JPanel p1=new JPanel();
p1.setLayout(new FlowLayout());
JButton b1=new JButton("1");
b1.setForeground(Color.blue);
JButton b2=new JButton("2");
b2.setForeground(Color.blue);
JButton b3=new JButton("3");
b3.setForeground(Color.blue);
JButton b10=new JButton("+");
b10.setForeground(Color.blue);
JButton b11=new JButton("C");
b11.setForeground(Color.blue);
p1.add(b1);
p1.add(b2);
p1.add(b3);
p1.add(b10);
p1.add(b11);
JPanel p2=new JPanel();
p2.setLayout(new FlowLayout());
JButton b4=new JButton("4");
b4.setForeground(Color.blue);
JButton b5=new JButton("5");
b5.setForeground(Color.blue);
JButton b6=new JButton("6");
b6.setForeground(Color.blue);
JButton b12=new JButton("-");
b12.setForeground(Color.blue);
JButton b13=new JButton("%");
b13.setForeground(Color.blue);
p2.add(b4);
p2.add(b5);
p2.add(b6);
p2.add(b12);
p2.add(b13);
JPanel p3=new JPanel();
p3.setLayout(new FlowLayout());
JButton b7=new JButton("7");
b7.setForeground(Color.blue);
JButton b8=new JButton("8");
b8.setForeground(Color.blue);
JButton b9=new JButton("9");
b9.setForeground(Color.blue);
JButton b14=new JButton("*");
b14.setForeground(Color.blue);
JButton b15=new JButton("1/x");
b15.setForeground(Color.blue);
p3.add(b7);
p3.add(b8);
p3.add(b9);
p3.add(b14);
p3.add(b15);
JPanel p4=new JPanel();
p4.setLayout(new FlowLayout());
JButton b0=new JButton("0");
b0.setForeground(Color.blue);
JButton b16=new JButton(".");
b16.setForeground(Color.blue);
JButton b17=new JButton("=");
b17.setForeground(Color.blue);
JButton b18=new JButton("/");
b18.setForeground(Color.blue);
JButton b19=new JButton("sqrt");
b19.setForeground(Color.blue);
p4.add(b0);
p4.add(b16);
p4.add(b17);
p4.add(b18);
p4.add(b19);
JPanel panel=new JPanel();
panel.setLayout(new BoxLayout(panel,BoxLayout.Y_AXIS));
panel.add(p5);
panel.add(p1);
panel.add(p2);
panel.add(p3);
panel.add(p4);
JButton[] button={b0,b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13,b14,b15,b16,b17,b18,b19};
add(panel);
for(int i=0;i<button.length;i++)
{
button[i].addActionListener(this);
}
}
public void actionPerformed(ActionEvent e)
{
String actionCommand=e.getActionCommand();
if('0'<=actionCommand.charAt(0)&&actionCommand.charAt(0)<='9'||actionCommand.equals("."))
{
if(newNumber)
{
text.setText(actionCommand);
}
else
{
text.setText(text.getText()+actionCommand);
}
newNumber=false;
}
else
{
if(newNumber)
{
if(actionCommand.equals("-"))
{
text.setText(actionCommand);
newNumber=false;
}
else
{
op=actionCommand;
}
}
else
{
Calcutator(Double.parseDouble(text.getText()));
op=actionCommand;
newNumber=true;
}
}
}
public void Calcutator(double n)
{
if(op.equals("+"))
{
result+=n;
}
else if(op.equals("-"))
{
result-=n;
}
else if(op.equals("*"))
{
result*=n;
}
else if(op.equals("/"))
{
result/=n;
}
else if(op.equals("%"))
{
result%=n;
}
else if(op.equals("1/x"))
{
result=1/n;
}
else if(op.equals("sqrt"))
{
result = Math.sqrt(n);
}
else if(op.equals("="))
{
result=n;
}
text.setText(Double.toString(result));
}
public static void main(String[]args)
{
test1 frame=new test1();
frame.pack();
frame.setVisible(true);
frame.setResizable(false);
}
}
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
public class test1 extends JFrame implements ActionListener
{ private JTextField text;
private double result=0;
private String op=" ";
private boolean newNumber=true;
public test1()
{
setTitle("计算器");
JPanel p5=new JPanel();
text=new JTextField(20);
p5.add(text);
JPanel p1=new JPanel();
p1.setLayout(new FlowLayout());
JButton b1=new JButton("1");
b1.setForeground(Color.blue);
JButton b2=new JButton("2");
b2.setForeground(Color.blue);
JButton b3=new JButton("3");
b3.setForeground(Color.blue);
JButton b10=new JButton("+");
b10.setForeground(Color.blue);
JButton b11=new JButton("C");
b11.setForeground(Color.blue);
p1.add(b1);
p1.add(b2);
p1.add(b3);
p1.add(b10);
p1.add(b11);
JPanel p2=new JPanel();
p2.setLayout(new FlowLayout());
JButton b4=new JButton("4");
b4.setForeground(Color.blue);
JButton b5=new JButton("5");
b5.setForeground(Color.blue);
JButton b6=new JButton("6");
b6.setForeground(Color.blue);
JButton b12=new JButton("-");
b12.setForeground(Color.blue);
JButton b13=new JButton("%");
b13.setForeground(Color.blue);
p2.add(b4);
p2.add(b5);
p2.add(b6);
p2.add(b12);
p2.add(b13);
JPanel p3=new JPanel();
p3.setLayout(new FlowLayout());
JButton b7=new JButton("7");
b7.setForeground(Color.blue);
JButton b8=new JButton("8");
b8.setForeground(Color.blue);
JButton b9=new JButton("9");
b9.setForeground(Color.blue);
JButton b14=new JButton("*");
b14.setForeground(Color.blue);
JButton b15=new JButton("1/x");
b15.setForeground(Color.blue);
p3.add(b7);
p3.add(b8);
p3.add(b9);
p3.add(b14);
p3.add(b15);
JPanel p4=new JPanel();
p4.setLayout(new FlowLayout());
JButton b0=new JButton("0");
b0.setForeground(Color.blue);
JButton b16=new JButton(".");
b16.setForeground(Color.blue);
JButton b17=new JButton("=");
b17.setForeground(Color.blue);
JButton b18=new JButton("/");
b18.setForeground(Color.blue);
JButton b19=new JButton("sqrt");
b19.setForeground(Color.blue);
p4.add(b0);
p4.add(b16);
p4.add(b17);
p4.add(b18);
p4.add(b19);
JPanel panel=new JPanel();
panel.setLayout(new BoxLayout(panel,BoxLayout.Y_AXIS));
panel.add(p5);
panel.add(p1);
panel.add(p2);
panel.add(p3);
panel.add(p4);
JButton[] button={b0,b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13,b14,b15,b16,b17,b18,b19};
add(panel);
for(int i=0;i<button.length;i++)
{
button[i].addActionListener(this);
}
}
int key=0;
public void actionPerformed(ActionEvent e)
{
String actionCommand=e.getActionCommand();
if(e.getSource() instanceof JButton)
{
if('0'<=actionCommand.charAt(0)&&actionCommand.charAt(0)<='9'||actionCommand.equals("."))
{
if(newNumber)
{
result=Double.parseDouble(text.getText()+actionCommand);
text.setText(text.getText()+actionCommand);
}
else
{
if(key==0)
{
text.setText(actionCommand);
}
if(key==1)
{
text.setText(text.getText()+actionCommand);
}
key=1;
}
}
else
{
newNumber=false;
if(actionCommand.equals("=")) Calcutator(); op=actionCommand;
if(actionCommand.equals("sqrt")||actionCommand.equals("1/x")||actionCommand.equals("C"))
Calcutator();
}
}
}
public void Calcutator()
{
double number = new Double(text.getText()).doubleValue();
switch(op.charAt(0))
{
case '+':
result+=number;break;
case '-':
result-=number;break;
case '*':
result*=number;break;
case '/':
result/=number;break;
case '%':
result%=number;break;
}
if(op.equals("C"))
{
newNumber = true;
text.setText("");
}
if(op.equals("sqrt"))
result=Math.sqrt(result);
if(op.equals("1/x"))
result=1/result;
else
text.setText(new Double(result).toString());
key=0;
}
public static void main(String[]args)
{
test1 frame=new test1();
frame.pack();
frame.setVisible(true);
frame.setResizable(false);
}
}为什么还是实现不了清零啊????