Red de conocimiento informático - Conocimiento del nombre de dominio - ¡Urgente! ! ! ¿Cómo implementar la interfaz de la calculadora usando el código del programa Java? Cómo implementar la interfaz de la calculadora usando el código del programa Java

¡Urgente! ! ! ¿Cómo implementar la interfaz de la calculadora usando el código del programa Java? Cómo implementar la interfaz de la calculadora usando el código del programa Java

paquete?jisuanqi_new;

importar?java.awt.*;

importar?java.awt.event.*;

public?class?JiSuanQi_new?implements?ActionListener

{Panel p1;//Declarar campo de texto del panel p1 t1;//Declarar línea de texto t1 string[]?label?=?{"7", " 8 ", "9","/", "4", "5", "6", "*", "1", "2", "3","-", "0","." , "=", "+"};//declarar la matriz de etiquetas label1 se usa para guardar la etiqueta en el botón Button[]?b;//declarar la matriz de botones se usa para guardar 16 botones private?int?i;//declare i para más tarde private?String?op1?0";//operador para copia de seguridad private?String?+";//operador en espera private?boolean?append?=?false;//en espera

public? JiSuanQi_new ()//constructor

{ t1=new?TextField();//inicializar línea de texto t1 b? =?new?Button[label.length];//Inicializar matriz de botones b

p1=new?Panel();//inicializar el panel p1 p1.setLayout(new?GridLayout(4,4,4,4));//hacer que el panel seleccione el Administrador de diseño de cuadrícula para almacenamiento 16 botones ( 4 filas y 4 columnas) for(int?i=0;i

b[i]? =?new?Button(label[i]);//Coloque la etiqueta en cada uno de los 16 botones por turno

b[i].addActionListener (this);//Hacer que cada botón agregue un detector de eventos de acción p1.add(b[i]);?//Agregar botones al panel p1

}? Frame?f=new?Frame (" Calculator 1.0");//inicializa la ventana f, nombre Calculator 1.0 f.setLayout(new?BorderLayout());//selecciona el Administrador de diseño de bordes para la ventana f.Add (BorderLayout.t1);//Establece línea de texto en él se agrega al lado norte de la ventana f.add(BorderLayout.CENTER,p1); // Agrega noodle p1 al centro de la ventana f.addWindowListener(new?WindowAdapter(){// Agrega un detector de eventos de ventana para la ventana ¿público?

ng(WindowEvent?eve){/Ejecutar el método de cierre de ventana

System.exit(0);//Salir del programa} }); f.addWindowListener(new?setSize(250,?250); // Establecer el tamaño de la ventana f.setLocation(200,200); f.setVisible(true);//mostrar ventana

}

public?//Llamar al método constructor

}

public?void?actionPerformed(ActionEvent?ae)?

{/El botón sobre el que se actúa sucede

¿Cadena?

if("0123456789".indexOf(comm)!=-1) //Si la cadena de comando relevante es un número entre 0 y 9, ejecute

{

if (append){

String?temp?=?t1.getText();//Nuevo número

t1.setText(temp+comm);

} else{? // debido a que append es falso en este punto, realice esto

t1.setText(comm);?// Establezca la línea de texto t1 en la cadena de comando relevante (el código del botón que presionó)

append?=?true;// Si continúa presionando el botón, entonces append=true en este momento. Si continúa presionando el número, entonces 1. La palabra presionada por primera vez no cambiará. 2. Las palabras que no se presionen por primera vez se sobrescribirán con el número que presionó anteriormente (es decir: "...")

{?Desventajas: solo se puede contar un dígito)

}

}

else?if(("+-*/".indexOf(comm)!=-1))//ejecutar si la cadena de comando relevante es un número entre +-*/

{

//save //t1.setText(comm);

op1?=?Si continúa presionando el botón, si se presiona el número, se repite la operación anterior, si se presiona el símbolo se sobrescribe el símbolo anterior

}

else?if("=".equals (comm)) //Si se presiona el símbolo =, realiza las siguientes operaciones según las condiciones

{

String?op2?=?t1.getText();//op2 segundo número< / p>

doble?d1?=?Double.parseDouble(op1);

doble?d2?=?Double.parseDouble(op2);

if(operador. es igual ("+")){

d1?=?d1?+?d2?;

}else?if (operator.equals("-")){

d1?=?d1?-?d2;

}else?if (operator.equals("*")){

d1?=?d1? * ?d2;

}¿otra cosa?{

d1?=?d1?/?d2;

}

t1.setText ( d1+"");//Mostrar resultados del cálculo

append?=?false;

}

else?if("." .equals(comm ) )//Si .No.Continúa presionando

{

Cadena?temp?=?t1.getText();

if(temp.indexOf(".") ==-1){

t1.setText(temp+ ".") ;

append?=?true;

}

}

}

}

}

}

}