您的位置:

java计算器,java计算器界面

本文目录一览:

java计算器

//强烈要求追加分 你给的分太少了 或许也就我能帮你看啊 呵呵

//你错误的地方我给你改正了我都标明了 最主要的错误是两个:

//1.你并没有创建面板2没有把面板添加到窗口组建里

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

public class jsq

{

Frame frmFrame;

Label lb1 = new Label("计算数");

TextField tf1 = new TextField(30);

Label lb2 = new Label("计算符");

TextField tf2 = new TextField(30);

Label lb3 = new Label("计算结果");

TextField tf3 = new TextField(30);

JPanel p1;

JPanel p2;

JPanel p3;

Button btn1,btn2,btn3,btn4,btn5,btn6,btn7,btn8,btn9,btn10,btn11,btn12,btn13,btn14,btn15,btn16,btn17,btn18,btn19,btn20;

public jsq()

{

frmFrame = new Frame("计算器");

p1 = new JPanel(new BorderLayout());//这里

p2 = new JPanel(new GridLayout(3,2));//这里

p3 = new JPanel(new GridLayout(5,4));//这里

btn1 = new Button("退出");

btn1.setActionCommand("btn1");

btn2 = new Button("删除");

btn2.setActionCommand("btn2");

btn3 = new Button("清空");

btn3.setActionCommand("btn3");

btn4 = new Button("+");

btn4.setActionCommand("btn4");

btn5 = new Button("0");

btn5.setActionCommand("btn5");

btn6 = new Button("1");

btn6.setActionCommand("btn6");

btn7 = new Button("2");

btn7.setActionCommand("btn7");

btn8 = new Button("-");

btn8.setActionCommand("btn8");

btn9 = new Button("3");

btn9.setActionCommand("btn9");

btn10 = new Button("4");

btn10.setActionCommand("btn10");

btn11 = new Button("5");

btn11.setActionCommand("btn11");

btn12 = new Button("*");

btn12.setActionCommand("btn12");

btn13 = new Button("6");

btn13.setActionCommand("btn13");

btn14 = new Button("7");

btn14.setActionCommand("btn14");

btn15 = new Button("8");

btn15.setActionCommand("btn15");

btn16 = new Button("/");

btn16.setActionCommand("btn16");

btn17 = new Button("9");

btn17.setActionCommand("btn17");

btn18 = new Button(".");

btn18.setActionCommand("btn18");

btn19 = new Button("=");

btn19.setActionCommand("btn19");

btn20 = new Button("%");

btn20.setActionCommand("btn20");

p2.add(lb1);

p2.add(tf1);

p2.add(lb2);

p2.add(tf2);

p2.add(lb3);

p2.add(tf3);

p3.add(btn1);

p3.add(btn2);

p3.add(btn3);

p3.add(btn4);

p3.add(btn5);

p3.add(btn6);

p3.add(btn7);

p3.add(btn8);

p3.add(btn9);

p3.add(btn10);

p3.add(btn11);

p3.add(btn12);

p3.add(btn13);

p3.add(btn14);

p3.add(btn15);

p3.add(btn16);

p3.add(btn17);

p3.add(btn18);

p3.add(btn19);

p3.add(btn20);

p1.add(p2,BorderLayout.NORTH);

p1.add(p3,BorderLayout.SOUTH);

frmFrame.pack();

frmFrame.add(p1);//这里

frmFrame.setVisible(true);

}

public static void main(String[] args)

{

new jsq();

}

}

怎么用JAVA编程编写一个计算器?

打开IED:打开自己java编程的软件,采用的是eclipse软件。

建立java工程。

编写类。

编写类的详细步骤

1.类的基本结构:

由于这里用到了界面,所以要进行窗口界面的编程,按钮事件的处理,和计算处理界面;

package MyCaculator;

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

public class MyCaculator extends JFrame {

private int add=1,sub=2,mul=3,div=4;

private int op=0;

boolean ifOp;

private String output="0";

private Button[] jba=new Button[]{new Button("7"),new Button("8"),

new Button("9"),new Button("+"),

new Button("4"),new Button("5"),new Button("6"),new Button("-"),

new Button("1"),new Button("2"),new Button("3"),new Button("*"),

new Button("0"),new Button("."),new Button("="),new Button("/")};

private JPanel jpt=new JPanel();

private JPanel jpb=new JPanel();

private JTextField jtf=new JTextField("");

private MyCaculator(){

}

private void operate(String x){

}

public String add(String x){

return output;

}

public String subtract(String x){

return output;

}

public String multiply(String x){

return output;

}

public String divide(String x){

return output;

}

public String Equals(String x){

return output;

}

public void opClean(){

}

class setOperate_Act implements ActionListener{

public void actionPerformed(ActionEvent e) {

}

}

class setLabel_Act implements ActionListener{

public void actionPerformed(ActionEvent e) {

}

}

public static void main(String[] args) {

}

}

2.建立构造方法:

所谓构造方法就是,对自己的主类进行初始化,代码如下:

private MyCaculator(){

jpt.setLayout(new BorderLayout());

jpt.add(jtf);

this.add(jpt,BorderLayout.NORTH);

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

for(int i=0;ijba.length;i++){

jpb.add(jba[i]);

if(i==3||i==7||i==11||i==15||i==14)

jba[i].addActionListener(new setOperate_Act());

else

jba[i].addActionListener(new setLabel_Act());

}

this.add(jpb,BorderLayout.CENTER);

this.setSize(250, 200);

this.setResizable(false);

this.setVisible(true);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

3.建立数据计算方法

这里的数据计算方法有6个,一个是主方法其他几个是加减乘除的处理方法,代码如下:

private void operate(String x){

double x1=Double.valueOf(x);

double y=Double.valueOf(output);

switch(op){

case 0:output=x;break;

case 1:output=String.valueOf(y+x1);break;

case 2:output =String.valueOf(y-x1);break;

case 3:output =String.valueOf(y*x1);break;

case 4:

if(x1!=0) output=String.valueOf(y/x1);

else output="不能为0";

break;

}

}

public String add(String x){

operate(x);

op=add;

return output;

}

public String subtract(String x){

operate(x);

op=sub;

return output;

}

public String multiply(String x){

operate(x);

op=mul;

return output;

}

public String divide(String x){

operate(x);

op=div;

return output;

}

public String Equals(String x){

operate(x);

op=0;

return output;

}

public void opClean(){

op=0;

output ="0";

}

4.事件处理方法

这里的时间处理方法,没有建立一个整体的方法,二是在为了便于处理的方法,将按钮事件分成两个部分,并采用两个子类来实现,这两个类时内部类要写在主类内部的,代码如下:

class setOperate_Act implements ActionListener{

public void actionPerformed(ActionEvent e) {

if(e.getSource()==jba[3]){

jtf.setText(add(jtf.getText()));

ifOp=true;

}

else if(e.getSource()==jba[7]){

jtf.setText(subtract(jtf.getText()));

ifOp=true;

}

else if(e.getSource()==jba[11]){

jtf.setText(multiply(jtf.getText()));

ifOp=true;

}

else if(e.getSource()==jba[15]){

jtf.setText(divide(jtf.getText()));

ifOp=true;

}

else if(e.getSource()==jba[14]){

jtf.setText(Equals(jtf.getText()));

ifOp=true;

}

}

}

class setLabel_Act implements ActionListener{

public void actionPerformed(ActionEvent e) {

Button tempb=(Button)e.getSource();

if(ifOp){

jtf.setText(tempb.getLabel());

ifOp=false;

}else {

jtf.setText(jtf.getText()+tempb.getLabel());

}

}

}

5.建立main方法:

要想实现我们的代码,我们需在main方法中,实例化我们的对象。

public static void main(String[] args) {

new MyCaculator();

}

如何用Java编程迷你计算器

现在是一段核心程序,只有单位数的四则运算,需要实现多位数运算和小数点功能,最好还有正负号。万分感谢!

import java.awt.*;

import java.applet.*;

public class calc10 extends Applet {

char key,prevopr;

float ans,num;

char[] btext={'0','1','2','3','4','5',

'6','7','8','9','-','+','*','/'};

Button[] buttons = new Button[btext.length];

public void init() {

for (int i=0; ibtext.length; i++) {

buttons[i] = new Button(""+btext[i]);

add(buttons[i]);

}

}

public float apply(float num1, char opr, float num2) {

switch (opr) {

case '+': return(ans+num);

case '-': return(ans-num);

case '*': return(ans*num);

case '/': return(ans/num);

default: return(num);

}

}

public boolean action(Event evt,Object arg){

key = ((String)arg).charAt(0);

if(key='0' key='9') {

num = (float)(key-'0');

showStatus(""+key);

} else {

ans = apply(ans,prevopr,num);

showStatus( "" + ans );

prevopr=key;

}

return true;

}

}