Red de conocimiento informático - Conocimiento del nombre de dominio - ¿Cómo programar una calculadora usando JAVA?

¿Cómo programar una calculadora usando JAVA?

Abrir IED: Abre tu propio software de programación java, usando el software eclipse.

Crear un proyecto java.

Clases de escritura.

Pasos detallados para escribir una clase

1. Estructura básica de la clase:

Dado que aquí se usa la interfaz, es necesario programar la interfaz de la ventana, manejar los eventos de los botones y calcular. la interfaz de procesamiento

paquete MyCaculator;

importar java.awt.*;

importar java.awt.event.*;

importar javax. swing.*;

la clase pública MyCaculator extiende JFrame {

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

privado int op=0;

ifOp booleano;

salida de cadena privada="0";

Botón privado[] jba=nuevo botón[ ]{nuevo botón ("7"), nuevo botón ("8"),

nuevo botón ("9"), nuevo botón ("+"),

nuevo botón ("4"),Botón nuevo("5"),Botón nuevo("6"),Botón nuevo("-"),

Botón nuevo("1"),Botón nuevo("2 "), nuevo botón("3"),nuevo botón("*"),

nuevo botón("0"),nuevo botón("."),nuevo botón("="), nuevo botón(" /")};

JPanel privado jpt=nuevo JPanel();

JPanel privado jpb=nuevo JPanel();

JTextField privado jtf=new JTextField ("");

MyCaculator privado(){

}

operación de vacío privado (Cadena x){

}

cadena pública agregar(Cadena x){

devolver salida;

}

Restar cadena pública (Cadena x){

devuelve salida;

}

multiplicación de cadena pública (cadena x){

devuelve salida;

}

dividir cadena pública (cadena x){

devolver salida;

}

cadena pública igual a (cadena x){

salida devuelta;

}

public void opClean(){

}

la clase setOperate_Act implementa ActionListener{

public void actionPerformed(ActionEvent e) {

}

}

clase setLabel_Act implementa ActionListener{

acción nula pública realizada (ActionEvent e) {

}

}

p>

public static void main(String[] args) {

}

}

2. Establecer el método de construcción:

El llamado método de construcción consiste en inicializar su propia clase principal. El código es el siguiente:

private MyCaculator(){

jpt.setLayout(new BorderLayout(). );

jpt.add(jtf);

this.add(jpt,BorderLayout.NORTH);

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

for(int i=0;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. Establecer métodos de cálculo de datos

Hay 6 métodos de cálculo de datos. aquí, uno es Los otros métodos del método principal son suma, resta, multiplicación y división. El código es el siguiente:

operación nula privada (String x){

doble x1. =Double.valueOf(x);

p>

doble y=Double.valueOf(salida);

cambiar(op){

caso 0:salida =x;romper;

caso 1:salida=String.valueOf(y+x1);romper;

caso 2:salida =String.valueOf(y-x1);romper ;

caso 3:salida =String.valueOf(y*x1);break;

caso 4:

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

else salida="no puede ser 0";

romper;

}

}

cadena pública agregar(Cadena x){

operar(x);

op=add;

devolver salida;

}

substraer cadena pública(Cadena x){

operar(x);

op=sub;

devolver salida;

}

Cadena pública multiplicar(Cadena x){

operar(x);

op=mul;

salida de retorno;

p>

}

pu

blic String divide(String x){

operar(x);

op=div;

devolver salida;

}

Cadena pública igual a(Cadena x){

operar(x);

op=0;

devolver salida;

}

public void opClean(){

op=0;

salida ="0";

}

4. Método de procesamiento de eventos

El método de procesamiento de tiempo aquí no establece un método general. El segundo es para facilitar el procesamiento, el evento del botón se divide en dos partes y se utilizan dos. subclases para implementarlo. Las clases internas de estas dos clases deben escribirse dentro de la clase principal. El código es el siguiente:

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(resta ( jtf.getText()));

ifOp=true;

}

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

jtf.setText(multiplicar(jtf.getText()));

ifOp=true;

}

si no ( e.getSource()==jba[15]){

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

ifOp=true;

}

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

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

ifOp=true;

}

}

}

clase setLabel_Act implementa ActionListener{

public void actionPerformed(ActionEvent e) {

Botón tempb=(Botón)e.getSource();

if(ifOp){

jtf. setText (tempb.getLabel());

ifOp=false;

}else {

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

}

}

}

5. Establecer el método principal:

Para lograr En nuestro código, necesitamos crear una instancia de nuestro objeto en el método principal.

public static void main(String[] args) {

new MyCaculator();

}