Red de conocimiento informático - Problemas con los teléfonos móviles - Código fuente de Sta350

Código fuente de Sta350

//Ha sido enviado a tu correo electrónico. Lo envié vía QQ, el que tiene 815611030. El siguiente es mi código fuente

import java.awt.*;

import java.awt.event.*;

import java.util.*;

Pila de clases

{

Cadena s[]=nueva cadena[100];

int n = 0;

p>

public void InQuece(String cadena)

{

s[n]= str;

n;

}

Cadena pública DeQuece()

{

return s[-n];

}

Frontal de cadena pública()

{

return s[n-1];

}

Sprint vacío público ( )

{

for(int I = n-1; i gt=0; i-)

system out . ] " ");

sistema . println();

}

}

Calculadora de clase pública

{

marco estático frm = nuevo marco("calculadora");

//TextField estático TFF = nuevo TextField(20);

estático etiqueta laboratorio = nueva etiqueta("0.

");

Panel de panel estático = new Panel();

Etiquetas de cadena estáticastr =

Cadena estática ltemp =

static int flag = 1;

Botones estáticos b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b16, b12, b13, b14, b15, b16, b17, b18. , b65438

Public void setFrame()

{

frm.setBounds(300, 150, 400, 350); . establecer diseño (nulo);

frm . addwindowlistener(nueva ventana());

frm

b0 = Nuevo botón. (" 0 "); b 1 = Nuevo botón (" 1 "); b2 = Nuevo botón (" 2 "); b3 = Nuevo botón (" 3 "); botón (" 5 "); b6 = Nuevo botón (" 6 ");

b7 = Nuevo botón (" 7 "); b8 = Nuevo botón (" 8 "); 9 ");

b 10 = Botón Nuevo (" "); b 11 = Botón Nuevo ("-"); b 12 = Botón Nuevo (" * "); b 13 = Botón Nuevo (" /"); b 14 = Botón Nuevo (" AC "); b 15 = Botón Nuevo (" C "); b 16 = Botón Nuevo (" = ");

b 17 = Botón Nuevo ( "("); b 18 = Nuevo botón (")"; b 19 = Nuevo botón (" RE "

lab.setBounds(0, 30, 400, 40); p>

Lab.setFont(newFont("ì",Font.plain,30));

lab.setAlignment(label.

Derecha);

pan.setBounds(0, 60, 400, 300);

pan.setLayout(new GridLayout(5, 4));

B0. addactionlistener(nueva acción()); b 1. addactionlistener(nueva acción()); B2. addactionlistener(nueva acción()); ;

b5 . addactionlistener(nueva acción()); B6 . addactionlistener(nueva acción()); B7 . addactionlistener(nueva acción()); addactionlistener(nueva acción());

b 10. addactionlistener(nueva acción()); b 11. addactionlistener(nueva acción()); . addactionlistener(nueva acción()); b 14. addactionlistener(nueva acción());

b 15. addactionlistener(nueva acción()); 17. addactionlistener(nueva acción()); b 18. addactionlistener(nueva acción()); b 19. addactionlistener(nueva acción());

pan add(b 1); (B2); sartén agregar (b5); sartén agregar (b 11); agregar(B7);pan . agregar(b8);pan agregar(B9);pan agregar(b 12);

pan . agregar(b 15);pan . agregar(b 13);pan agregar(b 19);

frm.add(lab);

frm.add(pan);

}

Doble cal pública (cadena)

p>

{

str=str.trim().

tokenizer de cadena ST = tokenizer de cadena nuevo(str, "-*/", true

Stack sta = new Stack()

String s); , s1, S2;

while(st.hasMoreTokens())

{

s = ST . if(s.equals(" # ")

Pausa;

if(s.equals(" ")

Continuar;

Si (!(s . es igual(" " | | s . es igual("-" | | s . es igual("/)| | s . es igual(" * "))

{< / p>

sta.consulta;

}

else if(s.equals(" ")

{

s2 =sta.DeQuece();

s1=sta.DeQuece();

doble d 1 = doble . analizar doble(s 1);

doble D2 = doble . analizar doble(S2);

d 1 = d 1 D2;

sta. p>

else if(s.Equal("-")

{

s2=sta.DeQuece();

s1=sta . DeQuece();

doble d 1 = doble . analizar doble(s 1);

doble D2 = doble . analizar doble(S2); 1 = d 1-D2;

sta.(" d 1);

}

else if(s.Equals("/")

{

s2=sta.DeQuece();

s1=sta.DeQuece();

doble d 1 = doble . analizar doble(s 1);

doble D2 = doble . analizar doble(S2);

d 1 = d 1/D2;

sta. InQuece(" d 1);

}

else if(s.equals("* "))

{

s2 =sta.DeQuece();

s1=sta. DeQuece();

doble d 1 = doble . analizar doble(s 1);

doble D2 = doble . analizar doble(S2);

d 1 = d 1 * D2

sta. /p>

}

s=sta.

DeQuece();

Devuelve double . parse double(s);

}

Cadena pública InfixToPostfix(string s)

{

String restr =

String temp =

tokenizador de cadena ST = nuevo tokenizador de cadena(s, "-/*#()", true);

Pila sta = nueva Pila();

sta. InQuece(" # ");

while(st.hasMoreTokens())

{

temp = ST . p>if(temperatura es igual a (" # ")

{

mientras(verdadero)

{

Cadena t=sta. DeQuece();

if(t.equals("# ")

{

Romper;

}

restr = restr t " ";

}

Romper;

}

else if(temp.equals( " ")

Continuar;

si no(!(temp . es igual("(")| | temp . es igual(")" | | temp . es igual(" ") | | temp es igual("-")| temp es igual("/))

{

restr = restr temp " ";

} /p>

si no(temp.equals()")

{

mientras(verdadero)

{

Cadena t=sta.DeQuece();

if(t.equals("(")

Romper;

Otro

{

restr = restr t " ";

}

}

}

si no( temp . es igual("(")| | temp . es igual(" " | | temp . es igual("-")| | temp . es igual("/))

{

mientras(ICP(temp) lt;=isp(sta.Front()))

{

Cadena t=sta.DeQuece();

restr = restr t " ";

}

sta.

sprint();

}

Devolver restr

}

Público int icp(cadena s)

{

if(s .equal to (" # ")

Devuelve 0;

else if(s .equal to ("()"))< / p>

devuelve 7;

si no(s . es igual(" * ")| | s . es igual("/")

Devuelve 4;

de lo contrario si(s . es igual a(" ")| | s . es igual a("-")

devuelve 2;

de lo contrario si(s.equals(") " )

Retorno 1;

Otro

retorno-1;

}

Int público isp( char String s)

{

if(s . es igual a (" # ")

Devuelve 0;

si no (s . Equals("()"))

Devuelve 1;

si no(s . es igual(" * ")| | s . es igual("/")

devuelve 5;

si no(s . es igual(" ")| | s . es igual("-")

devuelve 3;

else if(s.equals()")

return 7;

Otro

return-1;

}

Public static void main(String args[])

{

Calculadora c = new Calculator();

c . frame ();

system out . println(c . cal(c . infix topostfix(" 1 *(2 3/4)* 10 # "));

}

La operación de clase estática implementa ActionListener

{

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

{

Botón bu =(Botón)e . getsource();

//ltemp = etiquetastr;

if(flag==1)

{

labelstr =

bandera = 0;

}

if(bu==b0)

labelstr = etiquetastr " 0 ";

else if(bu==b1)

labelstr = etiquetastr " 1 ";

else if(bu==b2)

labelstr = etiquetastr " 1 ";

else if(bu==b2)

p>

labelstr = etiquetastr " 2 "

else if(bu==b3)

labelstr = etiquetastr " 3 ";

else if (bu==b4)

labelstr = etiquetastr " 4 ";

si no(bu==b5)

labelstr = etiquetastr " 5 ";

si no(bu==b6)

etiquetastr = etiquetasetiqueta " 6 ";<

/p>

si no(bu==b7)

labelstr = etiquetastr " 7 ";

si no(bu==b8)

etiquetastr = etiquetastr " 8 ";

else if(bu==b9)

labelstr = etiquetastr " 9 ";

else if(bu==b10 )

labelstr = etiquetastr " ";

else if(bu==b11)

labelstr = etiquetastr "-";

else if(bu==b12)

labelstr = etiquetastr " * ";

else if(bu==b13)

labelstr = etiquetastr "/" ;

else if(bu==b14)//AC

{

ltemp = etiquetastr

labelstr="0.;

bandera = 1;

}

si no(bu==b15)//C

{

labelstr=labelstr.substring(0, etiquetastr . length()-1);

if(labelstr.length()==0)

{

labelstr="0. ;

bandera = 1;

}

}

si no(bu==b16)//=

{

ltemp = etiquetastr

doble b = nueva Calculadora(). cal(newcalculator().infix topostfix(labelstr " # ");

labelstr = " " b;

lab . settext(labelstr);

bandera = 1;

Devolver;

}

si no(bu==b17)

{

etiquetastr = etiquetastr "(";

}

else if(bu==b18)

{

labelstr = etiquetastr ") ;

}

else if(bu==b19)

{

labelstr = ltemp

}

lab . settext(labelstr);

}

}

Extensión de ventana de clase estática WindowAdapter

{

Cierre de ventana nula pública (WindowEvent e)

{

frm .dispose();

system(0);

}

}

}