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

¿Cómo hacer una calculadora JAVA?

¿clase? ¿CalcBtn? ¿extender? ¿Botón J? {

¿Privado? ¿Electricidad estática? finales? ¿dragón? serialVersionUID? =?1L;

¿Fuente? ¿Fuente? =?¿Nuevo? Fuente ("Imitación de la dinastía Song",?1,?22);

¿Público? CalcBtn(¿Cadena? ¿Texto? ¿Color? Color)? {

Super(texto);

setForeground(color);

setFont(fuente);

setMargin(new?Insets( 0,? 0,?0,?0));

setFocusable(false);

}

}

@SuppressWarnings ("serie")

¿Público? ¿clase? ¿CalcFrame? ¿extender? JFrame? ¿Utensilios? ¿AcciónListener? {

Sr. ¿Electricidad estática? ¿Vacío? principal(Cadena[]?args)? {

¿Probarlo? {

administrador de interfaz de usuario . setlookandfeel(administrador de interfaz de usuario . getsystemlookandfeelclassname());

}? (¿Excepción? ex)? {

ej. printstacktrace();

}

¿Nuevo? CalcFrame(). establecer visible(verdadero);

}

¿Privado? ¿CalcBtn? btn_1? =?¿Nuevo? CalcBtn("1", color. blue);

¿Privado? ¿CalcBtn? btn_2? =?¿Nuevo? CalcBtn("2", color. blue);

¿Privado? ¿CalcBtn? btn_3? =?¿Nuevo? CalcBtn("3", color. blue);

¿Privado? ¿CalcBtn? btn_4? =?¿Nuevo? CalcBtn("4", color. blue);

¿Privado? ¿CalcBtn? btn_5? =?¿Nuevo? CalcBtn("5", color. blue);

¿Privado? ¿CalcBtn? btn_6? =?¿Nuevo? CalcBtn("6", color. blue);

¿Privado? ¿CalcBtn? btn_7? =?¿Nuevo? CalcBtn("7", color. blue);

¿Privado? ¿CalcBtn? btn_8? =?¿Nuevo? CalcBtn("8", color. blue);

¿Privado? ¿CalcBtn? btn_9? =?¿Nuevo? CalcBtn("9", color. blue);

¿Privado? ¿CalcBtn? btn_0? =?¿Nuevo? CalcBtn("0 ", color.

azul);

¿Privado? ¿CalcBtn? btn_back? =?¿Nuevo? CalcBtn("↓"; color . rojo);

¿Privado? ¿CalcBtn? btn_c? =?¿Nuevo? CalcBtn("C",color.red);

¿Privado? ¿CalcBtn? btn_ce? =?¿Nuevo? CalcBtn("CE", color . rojo);

¿Privado? ¿CalcBtn? btn_sub? =?¿Nuevo? CalcBtn("-",?color.red);

¿Privado? ¿CalcBtn? btn_multi? =?¿Nuevo? CalcBtn("* ",? color . rojo);

¿Privado? ¿CalcBtn? btn_div? =?¿Nuevo? CalcBtn("/",?color.red);

¿Privado? ¿CalcBtn? btn_add? =?¿Nuevo? CalcBtn(" ",? color . rojo);

¿Privado? ¿CalcBtn? btn_sqrt? =?¿Nuevo? CalcBtn("sqrt", color. blue);

¿Privado? ¿CalcBtn? btn_mod? =?¿Nuevo? CalcBtn(" ",? color. azul);

¿Privado? ¿CalcBtn? btn_x? =?¿Nuevo? CalcBtn("1/x ", color. azul);

¿Privado? ¿CalcBtn? btn_res? =?¿Nuevo? CalcBtn("= ",?color.red);

¿Privado? ¿CalcBtn? btn_punto? =?¿Nuevo? CalcBtn(" . ",?color . rojo);

¿Privado? ¿CalcBtn? btn_flag? =?¿Nuevo? CalcBtn("/-",? color. blue);

¿Privado? ¿Botón J? btn_mem? =?¿Nuevo? JButton(" ");

¿Privado? ¿CalcBtn? btn_m? =?¿Nuevo? CalcBtn("M",?Color.Blue);

¿Privado? ¿CalcBtn? btn_mc? =?¿Nuevo? CalcBtn("MC", color. azul);

¿Privado? ¿CalcBtn? btn_señor? =?¿Nuevo? CalcBtn("MR", color. blue);

¿Privado? ¿CalcBtn? btn_ms? =?¿Nuevo? CalcBtn("MS ", color.

azul);

JPanel? pan_jtf? =?¿Nuevo? JPanel();

JPanel? pan_back? =?¿Nuevo? JPanel();

JPanel? pan_mem? =?¿Nuevo? JPanel();

JPanel? pan_num? =?¿Nuevo? JPanel();

JTextField? jtf_res? =?¿Nuevo? JTextField();

//

¿Privado? ¿JMenúBar? ¿Barra de menú? =?¿Nuevo? JMenuBar();

¿Privado? JMenú? Menú_editar? =?¿Nuevo? JMenu(" Editar(e)");

¿Privado? JMenú? menú_vista? =?¿Nuevo? JMenu(" Ver(v)");

¿Privado? JMenú? Menú_Ayuda? =?¿Nuevo? JMenu(" Ayuda(h)");

¿Privado? ¿JMenúArtículo? editarMenú_copiar? =?¿Nuevo? JMenuItem("copia(c)");

¿Privado? ¿JMenúArtículo? Editar menú_Pegar? =?¿Nuevo? JMenuItem(" pegar(p)");

¿Privado? ¿JCheckBoxMenuItem? ¿Ver menu_standard? =?¿Nuevo? JCheckBoxMenuItem(

"Estándar(t)");

¿Privado? ¿JCheckBoxMenuItem? viewmenu_ciencia? =?¿Nuevo? JCheckBoxMenuItem("Ciencia(s)");

¿Privado? ¿JCheckBoxMenuItem? vermenu_grouping? =?¿Nuevo? JCheckBoxMenuItem(

"Paquete de números (I)");

¿Privado? ¿JMenúArtículo? menúayuda_ayuda? =?¿Nuevo? JMenuItem("Tema de ayuda(h)");

¿Privado? ¿JMenúArtículo? menú de ayuda_acerca de? =?¿Nuevo? JMenuItem("Acerca de la Calculadora(a)");

¿Cadena? guardar1,? guardar2

¿GranDecimal? op1,? op2

¿Booleano? esBigDecimal? =?Falso;

int? ¿preoperatorio? operación actual? =?0;

¿StringBuffer? cadena? =?¿Nuevo? buffer de cadena();

¿Público? MarcoCalc()? {

this.setTitle("?Yu?☆?string?");

this .setresizable(false);

setSize(444,?390

setLocationRelativeTo(null);

setDefaultCloseOperation(EXIT _ ON _ CLOSE);

setJMenuBar(barra de menú); establecer diseño (nulo);

init_pan_jtf();

init_menuBar();

init_pan_back();

init_pan_mem();

init_pan_num();

getCont

entPane(). agregar(pan_jtf);

getContentPane(). agregar(pan_back);

getContentPane(). agregar(pan_mem);

getContentPane(). add(pan_num);

}

¿Privado? ¿Vacío? init_menuBar()? {

barra de menú . agregar(menú _ editar);

barra de menú . agregar(menú _ ver); agregar(menú _ ayuda); /p>

menu_edit.add(editar menu_copy);

menu_edit.add(editar menu_paste);

menu_view.add(ver menú _ estándar);

menu_view.add(ver menu_science);

menu_view.añadir separador();

menu_view.add(Ver menu_group);

menu_help.add(ayuda menu_help);

menu_help.add separator();

menu_ ayuda . menú _ editar establecer mnemónico ('E');

menú _ ver establecer mnemónico(' V '); p>

menú _ ayuda . set mnemonic(' H ');

menú editar _ copiar set mnemonic(' C '); acelerador(pulsación de tecla. obtener pulsación de tecla(' C ',

Evento de entrada. CTRL_MASK));

menú de edición _ pegar establecer mnemónico(' P '); p>edit menu_paste . set accelerator(keystone . get keystone(' V ',

Evento de entrada.

CTRL_MASK));

ver menú _ estándar . set mnemonic(' T ');

ver menú _ science . >ver menú _ agrupación . set mnemonic(' I ');

menú de ayuda _ ayuda set mnemonic(' H ');

menú de ayuda _ acerca de . A ');

}

¿Público? ¿Vacío? init_pan_back()? {

pan_back.setSize(340,?40);

pan_back.setLocation(85,?60);

pan_back.setLayout(new?GridLayout( 1, 3, ?5, ?0));

pan_back . p> p>

pan _ back . add(BTN _ c);

btn_back.addActionListener(new?ActionListener()?{

Público?Voided?actionPerformed(ActionEvent) ?e )? {

Si? (!jtf_res.getText(). trim(). es igual("0."))?{

Si ! str.length()?{

jtf . settext(str . eliminar(str . length()?-?1 p>

str.length());

}? {

jtf_res.setText("0.");

str .setlength(0);

}

}

op2? =? ¿Nuevo? BigDecimal(jtf_res.getText().trim ()); >btn_c.addActionListener(new? ActionListener()? {

¿Público? ¿Nulo? actionPerformed(ActionEvent?e)? {

jtf_res.setText("0.");

op1? =?¿Nuevo? /p>

str.replace(0, str.length(),?");

¿Preparación preoperatoria? ?0;

}

});

btn_ce.addActionListener(new? ActionListener()? {

¿Público? ¿No válido? acción realizada (¿Evento de acción? mi)? {

jtf_res.setText("0.

");

}

});

}

¿Público? ¿Obsoleto? init_pan_jtf()?{

jtf _ RES . alineación horizontal(JTextField.right);

jtf_res.setFont(new?Font("Fake Songti",?0,?20));

jtf_res. .setText("0.

");

jtf _ RES . set editable(false);

//?jtf _ RES . setfocusable(false);

pan_jtf.setSize( 420,? 40);

pan_jtf.setLocation(10,?5);

pan_jtf.setLayout(new?BorderLayout());

pan _ jtf . add(jtf _ RES);

}

Init_pan_mem()? {

pan_mem.setSize(60,?270);

pan_mem.setLocation(10,?60);

pan_mem.setLayout(new?GridLayout(5,1,?0,?5));

pan_mem.add (BTN_mem);

BTN_mem.set habilitado(false);

pan_mem.add(BTN_MC);

pan_mem add(BTN_Mr)

pan_mem.add(BTN_ms);

pan_mem.add(BTN_m);

}

<. p>Init_pan_num()? {

pan_num.setSize(340,?220);

pan_num .setLocation(85,?110);

pan_num. setLayout(new?GridLayout(4,5,?5,?5));

pan_num.add(BTN _ 7);

pan _ num . );

pan_num.add(BTN_9);

pan_num.add(BTN_div); (BTN _ sqrt);

pan _ num . _ num . agregar(BTN _ 6);

pan _ num . agregar(BTN _ multi

p>

pan _ num . p>

pan_num.add(BTN_1);

pan_num.add(BTN_2);

pan_num.

pan_num.add(BTN_sub);

pan_num.add(BTN_x);

pan_num.add(BTN_0);

pan_num.add(BTN_flag);

pan_num.add(BTN_point);

pan_num.add(BTN_add);

pan _ num .

);

BTN_1. addactionlistener(este);

BTN_2. addactionlistener(este);

BTN_3. >BTN_4. addactionlistener(este);

BTN_5. addactionlistener(este);

BTN_6. addactionlistener(este);

BTN_5. BTN_7. addactionlistener(este);

BTN_8. addactionlistener(este);

BTN_9. addactionlistener(este);

BTN _ 0 .

BTN _ sub . addactionlistener(this);

BTN _ multi . addactionlistener(this);

BTN _ div. /p>

BTN _ add . addactionlistener(this);

BTN _ sqrt . addactionlistener(this); BTN _ x . >

BTN _ RES . addactionlistener(this);

BTN _ point . addactionlistener(this);

BTN _ addactionlistener(this);

//?BTN _ mod . addactionlistener(this);

}

@override

¿Público? ¿Vacío? ¿Acción realizada (Evento de acción? E)? {

¿Cadena? ¿s? =?e .getactioncommand();

¿Grandecimal? ¿I? =?¿Nuevo? BigDecimal(1);

¿Cadena? ¿Trabajador temporal? =?jtf_res.getText().

trim();

¿Grandecimal? temp1? =?¿Nuevo? BigDecimal(temp);

¿Si? (e.getSource()?==?btn_flag)? {

¿Gran Decimal? temp3? =?¿Nuevo? BigDecimal(jtf _ RES . gettext());

¿BigDecimal? temp4? =?¿Nuevo? GranDecimal(-1);

¿GranDecimal? temp5? =?temp 3 . multiplicar(temp 4);

jtf_res.setText("? ?temp 5);

}? ¿De lo contrario? ¿Qué pasa si? (s.equals("1 /x "))?{

jtf_res.setText("? ?i.divide(temp1, new? contexto matemático(30)));

}? ¿si? (s.equals ("sqrt"))? {

jtf_res.setText("? ?temp 1 . multiplicar(temp 1));

}? ¿De lo contrario? ¿Y si? (s . es igual a(" ")? {

str . setlength(0);

¿Si? (currentOp?==?0)?{

¿Preparación preoperatoria? =?currentOp?1;

op2? =?New? BigDecimal(" 0 ");

jtf_res.setText("? ?op 1);

}?De lo contrario, ¿qué? {

currentOp? =?preOp

¿Preparación preoperatoria?

¿Cambiar? >Caso 1:

op1?=?op 1 . add(op2);

jtf_res.setText("?op 1);

Rotura;

Caso? 2:

op1? =?op 1. restar(op2);

jtf_res.setText("?op 1);

Pausa;

Caso 3:

op1? =?op 1. multiplicar(op2);

jtf_res.setText(" ?op 1);

Romper;

Caso ?4:

op1? =?op1.divide(op2, nuevo ?contexto matemático(30 ));

jtf_res.setText("? ?op 1);

Descanso;

}

}

}? ¿Y si? (s. es igual a("-")?{

str.setlength(0);

¿Qué pasa si?(currentOp?==? 0)?{

¿Preparación preoperatoria? =?currentOp =?2;

p>

jtf_res.setText("? ?op 1);

}? ¿En caso contrario? {

currentOp? =?preOp

¿Preparación preoperatoria?

¿Cambiar? p>Caso? 1:

op1? =?op 1. add(op2);

jtf_res

.setText("? ?op 1);

Rotura;

Caso? 2:

op1?=?op 1 . restar(op2);

jtf_res.setText("? ?op 1);

Rotura;

¿Caso? 3:

op1? =?op 1 . multiplicar(op2);

jtf_res.setText("?op 1);

Romper;

Caso?4:

p>

op1? =?op1.divide(op2, new?contexto matemático(30));

jtf_res.setText("? ?op 1);

¿Romper;

}

}

}? ¿si? (s.equals("* "))? {

str .setlength(0);

¿Si? (currentOp?==?0)?{

¿Preparación preoperatoria? =?operación actual? =?3;

jtf_res.setText("? ?op 1);

}? ¿De lo contrario? {

currentOp?=?preOp

¿Preparación preoperatoria? =?3;

¿Cambiar? {

Caso 1:

op1? p>jtf_res.setText("? ?op 1);

Rotura;

¿Caso? 2:

op1? =?op 1 . restar(op2);

jtf_res.setText("?op 1);

Romper;

Caso?3:

p>

op1? =?op 1 . multiplicar(op2);

jtf_res.setText("?op 1);

Romper;

¿Caso? 4:

op1? =?op1.divide(op2, new?math context(30));

jtf_res.setText("?op1);

Pausa;

}

}

}? ¿Y si? (s.equals("/")?{

str . setlength(0);

Si? (currentOp?==?0)?{

¿Preparación preoperatoria? =?currentOp?=?4;

jtf_res.setText(" ?op 1);

}?{

currentOp? =?preOp

¿Preparación preoperatoria?

¿Cambiar? . add(op2);

jtf_res.setText ("? ?op 1);

Rotura;

Caso? 2:

op1?=?op 1. restar(op2);

jtf_res.setText("?op 1);

Romper;

Caso?3:

op1?=?op 1. multiplicar (op2);

jtf_res.setText

("? ?op 1);

Pausa;

Caso ?4:

op1?=?op1.divide(op2, new?contexto matemático ( 30));

jtf_res.setText("? ?op 1);

Pausa;

}

}

}? ¿si? (s.equals("= ")?{

¿Si?(currentOp?==?0)?{

str . setlength(0);

jtf_res.setText("? ?op2);

}? ¿En caso contrario? {

str . setlength(0);

currentOp?=?preOp

¿Cambiar? {

Caso 1:

op1?

jtf_res.setText("?op 1);

Romper;

Caso?2:

op1?=?op 1. restar(op2);

jtf_res.setText("?op 1) ;

Romper;

Caso?3:

op1?=? op 1. multiplicar(op2);

jtf_res.setText ("? ?op 1);

Pausa;

Caso? 4:

op1? =?op1.divide(op2, new?contexto matemático( 30));

jtf_res.setText("??op 1);

Pausa;

}

currentOp? =? 0;

op2?=?New?BigDecimal(" 0 ");

}

}? ¿Qué pasa si (s es igual a (".") )?{

esBigDecimal? =?True;

Si? getText().indexOf(".")?! ¿Qué pasa si (jtf_res.getText(). trim(). igual a (" 0 "))? {

str . str.append( "0 "? ?s));

}? ¿Y si? (jtf_res.getText().Equals(" ")?

}? ¿De lo contrario? {

jtf_res.setText((str.append(s)).toString());

}

}

} ¿De lo contrario? ¿si? (s.equals("0 "))? {

¿Y si? (jtf_res.getText(). trim(). igual a ("0."))?{

}? {

jtf_res.setText(str.append(s)). toString());

op2? =?¿Nuevo? BigDecimal(jtf_res.getText().

trim());

}

} ¿De lo contrario? {

jtf_res.setText(str.append(s)). toString());

op2? =?¿Nuevo? BigDecimal(jtf_res.getText().trim());

¿Si? (op.actual?==?0)

op1? =?op2

}

}

}