Red de conocimiento informático - Aprendizaje de programación - Programación Java con números negativos

Programación Java con números negativos

Importar Java.awt.*;

Importar Java.awt.event.*;

La clase pública Calculadora implementa ActionListener

{

Cuadro f;

Barra de menú MB 1;

Menú mf1, me1, mh1, MD 1;

Panel p1, p2, P3;

TextField tf1, tf2

Botones b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b12, b13, b14, b15, b16, b17, b18, b19. , b2

int Ms = 0; // Se usa para identificar M, Ms

double m = 0; // Se usa para lograr una operación continua.

Double k = 0; // Se utiliza para implementar el signo negativo.

Double cur = 0; //Valor usado para ahorrar memoria

Double k 1; //Usado para implementar el retroceso

Calculadora pública ()

{

f = nuevo marco("calculadora");

f.setSize(260, 200);

f .setLocation(320); , 320);

f . establecer diseño (nuevo BorderLayout());

f . establecer fondo (color . gris claro); new TextField(30);

TF 1. set editable(false);

tf1.setBackground(Color. blanco);

f.add(tf1 , BorderLayout Center);

p 1 = nuevo Panel(new BorderLayout()

f.add(p1, BorderLayout. Sur); p>

tf2 = Nuevo campo de texto(2);

tf2 .set editable(false);

b 1 = Nuevo botón ("Retroceso");

p>

b1.setForeground(Color.Red);

b2 =Nuevo Botón(" CE ");

b2.setForeground(Color.Red);

b3 = Nuevo botón(" C ");

b3.setForeground(color. rojo

B2 .addactionlistener(this); >

B3 . addactionlistener(this);

b 1 . addactionlistener(this);

p2 = nuevo panel (nuevo diseño de proceso (diseño de proceso. derecha)); /p>

p2 . agregar(tf2);

p2 . agregar( B3);

b24 = nuevo botón("MC");

b24.setForeground(color.rojo);

b24.addactionlistener(. esto);

b25 = nuevo botón(" MR ");

b25.setForeground(color.

rojo);

b25.addactionlistener(this);

b26 = nuevo botón("MS");

b26.setForeground(color.red);

b26 . addactionlistener(this);

b27 = Nuevo botón(" M ");

b27.setForeground(color. rojo

b27 . addactionlistener(this);

b 19 = Nuevo botón ("/");

b19.setForeground(color. rojo); p>b 19. addactionlistener(this);

b 18 = Nuevo botón (" * ");

b18.setForeground(color. red). >b 18. addactionlistener(this);

b 17 = Nuevo botón ("-"

b17.setForeground(color. rojo

); b 17. addactionlistener(this);

b 16 =Nuevo botón (" "

b16.setForeground(color. rojo

b 16); . addactionlistener(this);

b 14 = Nuevo botón (" /-"); addactionlistener(this); Nuevo botón (".");

b 15 . addactionlistener (this);

b20 = Nuevo botón (" sqrt "); (este);

b23 =Botón nuevo (" ");

b23 . x ");

b 21. addactionlistener(this);

b22 =Nuevo botón (" = ");

b22.setForeground(color.

rojo);

b22 . addactionlistener(this);

b4 = Nuevo botón (" 7 ");

b5 = Nuevo botón (" 8 ") ;

b6 =Botón nuevo (" 9 ");

b7 = Botón nuevo (" 4 ");

b9 = Nuevo botón (" 6 ");

b 10 = Nuevo botón (" 1 "); " 2 ");

b 12 = Botón Nuevo (" 3 ");

b 13 = Botón Nuevo (" 0 "); addactionlistener(este);

b5. addactionlistener(este);

B6. addactionlistener(este);

B7. >

b8 . addactionlistener(este);

B9 . addactionlistener(este);

b 10 . addactionlistener(este); addactionlistener(this);

b 12. addactionlistener(this);

b 13. addactionlistener(this);

p3 = nuevo panel (nuevo diseño de cuadrícula) (4, 6, 2, 2));

P3 . b5);

P3 . agregar(B6);

P3 . >

p>

P3 .añadir(b20);

P3 . >P3 . agregar (b8);

P3 . agregar(b23) . ;

P3 .agregar(b26);

P3 . p>P3 .añadir(b 12);

añadir(b 17);

añadir(b 21); (b27);

P3. agregar(b 13);

P3. agregar(b 14); /p>

P3 . agregar(b 16);

P3 . Norte);

p1.add(p3, BorderLayout. Centro);

f.add(p1, BorderLayout. Centro); p1, Diseño de borde.

Sur);

f . addwindowlistener(new WinClose());

f . ;

addmyMenu();

}

public void addmyMenu()

{

MB 1 = new MenuBar(); //Generar barra de menú

f . setmenubar(MB 1); //Agregar barra de menú en el marco f.

Mf1 =Nuevo menú("Editar(e)"); //Generar menú

Me1 =Nuevo menú("Ver(v)");

Mh1 = new menu("Ayuda(h)");

MB 1 add(MF 1); //Agregar menú a la barra de menú

MB 1 . 1);

MB 1. add(MH 1);

MF 1. add(new MenuItem(" copy "));// Genera elementos de menú y agrégalos en el menú.

Mf1.add(New Menu ("Paste"));

MF 1. addactionlistener(this); //Registra un detector de eventos para el menú

yo 1 . add(new MenuItem(" estándar "));

Me1. //Agregar línea separadora

Me1.add(new MenuItem);

me 1. addactionlistener(this);

Mh1.add(new menu (" Tema de ayuda"));

Mh1.add(new MenuItem("Acerca de la calculadora"));

MH 1. addactionlistener(this);

}

int flag = 0; //Identificador válido del operador

int num = 0; //Se utiliza para lograr una operación continua.

Punto doble = 0; // Se utiliza para identificar el punto decimal.

double primero=0, segundo=0, resultado = 0; //Se utiliza para guardar el primer número, el segundo número y el resultado del cálculo.

Doble pulsación; //Se utiliza para identificar si se presiona la tecla numérica.

Se ha realizado una operación pública no válida (evento de operación e)

{

if(e.getSource()==b3)

{tf1.setText("0.);

num = 0;

punto = 0;

push = 0;

bandera = 0;

primero = 0 }

Otros

if(e.getSource()==b4)

{

if(push==0.

)

TF 1 . settext(e . getactioncommand());

Otros

TF 1 . settext(TF 1 . gettext() e . getaction comando ());

push = 1;}

if(e.getSource()==b5)

{

si (push==0.)

TF 1 . settext(e . getactioncommand());

Otros

TF 1 . () e. comando getaction());

push = 1;}

if(e.getSource()==b6)

{

if(push==0.)

TF 1 . settext(e . getactioncommand());

Otros

TF 1 . settext(TF 1 . gettext() e . getaction command());

push = 1;}

if(e.getSource()==b7)

{

if(push==0.)

TF 1. settext(e. getactioncommand());

Otros

TF 1 . settext(TF 1 . gettext() e . getaction command());

push = 1;}

if(e.getSource()== b8)

{

if(push==0.)

TF 1. settext(e. getactioncommand());

Otros

TF 1. settext(TF 1. gettext() e. getaction command());

push = 1;}

if(e .getSource()==b9)

{

if(push==0.)

TF 1 .

Otros

TF 1 . settext(TF 1 . gettext() e . getaction command()

push = 1;

if(e.getSource()==b10)

{

if(push==0. )

TF 1 . settext(e . getactioncommand());

Otros

TF 1 . settext(TF 1 . gettext() e . getaction comando ());

push = 1;}

if(e . getsource()= = b 11)

{

si(empuje==0.

)

TF 1 . settext(e . getactioncommand());

Otros

TF 1 . settext(TF 1 . gettext() e . getaction comando ());

push = 1;}

if(e.getSource()==b12)

{

si (push==0.)

TF 1 . settext(e . getactioncommand());

Otros

TF 1 . () e. comando getaction());

push = 1;}

if(e.getSource()==b13)

{

if(push==0.)

TF 1 . settext(e . getactioncommand());

Otros

TF 1 . settext(TF 1 . gettext() e . getaction command());}

if(e . getsource()= = b26 | | e . getsource()= = b27)

{

tf2 . settext(" M ");

cur = double . parse double(TF 1 . gettext());

ms = 1;

}

if(e.getSource()==b25)

{

Si (Ms==1)

TF 1. settext(double. tostring(cur));

Otros

tf1.setText("0.

);

}

if(e.getSource()==b24)

{

tf2 . ;

ms = 0;

}

if(e.getSource()==b14)

{

k = doble . analizar doble(TF 1 . gettext());

k =-k

TF 1 .

}

if(e.getSource()==b15)

{

push = 1;

if(punto==0)

TF 1 . settext(TF 1 . gettext() e . getaction command()

Otros

TF 1 . settext(TF 1 . gettext());

punto = }

if(e.getSource()==b16)

{

bandera = 1;

primero = doble. analizar doble(TF 1. gettext()); p>push = 0;

}

if(e.getSource()==b17)

{

bandera = 2 ;

primero = doble . parse double(TF 1 . gettext());

punto = 0

push = 0; p>}

if(e.getSource()==b18)

{

bandera = 3;

primero = doble . analizar doble(TF 1 . gettext());

punto = 0

push = 0; (e.getSource()==b19)

{

bandera = 4;

primero = doble. analizar doble (TF 1. gettext()) ;

punto = 0;

push = 0

}

if(e.getSource()==b21)

{

bandera = 5;

primero = doble . analizar doble(TF 1 . gettext()); ;

push = 0;

}

if(e.getSource()==b23)

{

bandera = 6;

primero = doble . parse double(TF 1 . gettext());

punto = 0; ;

}

if(e.getSource()==b20)

{

bandera = 7;

primero = doble

e . analizar doble(TF 1 . gettext());

punto = 0

push = 0; if(e.getSource()==b22)

{

segundo = double . parse double(TF 1 . gettext());

if ( cantidad==0)

m = segundos;

num = 1;

Interruptor (bandera)

{

Caso 0: Roto;

Caso 1: Resultado = primero y segundo;

primero = m;

TF 1. settext(string. value of(resultado));

Pausa;

Caso 2: segundos = m;

Resultado = primer-segundo;

primero = resultado;

TF 1. settext(string. valor de(resultado));

Pausa;

Caso 3: resultado = primero *Segundo;

primero = m;

TF 1. settext(cadena. valor de(resultado));

Pausa;

Caso 4: If (segundos == 0)

Tf1.setText ("El divisor no puede ser 0 ");

Otros

{segundos = m ;

Resultado = primero/segundo;

primero = resultado;

TF 1. settext(cadena. valor de(resultado));}

Pausa ;

Caso 5: if(first==0)

Tf1.setText("0 no tiene recíproco");

Otros

{ resultado = 1/primero;

primero = resultado;

TF 1 . ;

Caso 6: resultado = primero/100;

primero = resultado;

TF 1. settext(cadena. valor de(resultado));

Break;

Caso 7: if (first lt; 0)

Tf1.setText("Los números negativos no se pueden elevar al cuadrado"); p>else { resultado = math . sqrt(first);

first = resultado;

TF 1 .

Romper;

}

punto = 0;

empuje = 0; if(e.getSource()==b2)

{

tf1.setText("0.

);

}

if(e.getSource()==b1)

{

k 1 = analizar doble. (TF 1 . gettext());

if(k1==0)

TF 1 . settext(double . tostring(k 1));

cadena s = TF 1 . gettext();

int I

I = s longitud()

s=s.substring(0). , I-1);

I = I-1;

Si (i==0)

tf1.setText("0.);

Otros

TF 1. settext;

push = 0;

punto = 0

}<; /p>

}

Public static void main(String arg[])

{

Nueva calculadora();

}

}

La clase WinClose extiende WindowAdapter

{

Cierre de ventana de anulación pública (WindowEvent e)

{

sistema . salida(0);

}

}