Un sencillo programa de calculadora y cuaderno de bocetos escrito en java, con instrucciones ppt (ideas de diseño)
import java.awt.event.*;
la clase pública Counter extiende Frame implementa ActionListener
{
TextField t=new TextField("");
Panel p1=new Panel();
Panel p2=new Panel();
Botón [] b=nuevo Botón[14];
Botón bAdd=nuevo Botón("Agregar");
Botón bSub=nuevo Botón("Restar");
Botón bMul=nuevo Botón("Multiplicar");
Botón bPoint=nuevo Botón(".") )
Botón bDiv=nuevo Botón("dividir por") ;
Botón bEqual=nuevo Botón("igual a");
Botón bSqrt=nuevo Botón("cuadrado");
Botón bPow=nuevo Botón ( "cuadrado");
Botón bBinary=nuevo Botón("binario");
Botón bOctal=nuevo Botón("octal");
Botón bHex =nuevo Botón("Hex");
Botón bNull=nuevo Botón("Borrar");
Cadena str1=""; = "";
Operador de cadena=null;
booleano primero=verdadero
int countOper=0; 0.0
doble num1=0.0,num2=0.0;
error booleano=false
contador público()
{
p>
super("Calculadora Universidad de Ingeniería y Ciencias de Hebei ");
t.setEditable(false);
for(int i= 0;i<10; i++)
{
b[i]=nuevo botón(String.valueOf(i ));
p1.add( b[i]);
b[i].setActionCommand("número");
b[i].addActionListener(this);
}
p1.add(bPoint);
bPoint.setActionCommand("número")setActionCommand("número");
p1.add(bAdd);
p1.add(bSub);
p1.add(bMul);
p1.add(bDiv);
p1 .a
dd(bOctal);
p2.add(bHex);
p2.add(bNull);
bAdd.setActionCommand("oper"); /p>
bSub.setActionCommand("oper");
bMul.addActionListener(este);
bSub.addActionListener(este);
bMul.addActionListener(esto);
bDiv.addActionListener(este);
bPoint.addActionListener(este);
bEqual.addActionListener( esto);
bSqrt.addActionListener(este);
bBinary.addActionListener(este);
bOctal.addActionListener(este);
bHex. addActionListener(este);
bNull.addActionListener(este);
p1.setLayout(new GridLayout(4,4,5,5));
p2.setLayout( new GridLayout(1,6,5,5));
add(t, "Norte");
add(p1, "Centro"); /p>
add(p2, "Sur");
setLocation(600,300);
setSize(600,300);
setBackground(nuevo color); (200,20,100));
setVisible(true);
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
}
});
}
public void actionPerformed (ActionEvent e)
{
Button temp=(Button)e.getSource();
if(e.getActionCommand().equals("número"))
{
if( primero)
{
str1=str1+temp.getLabel();
t.setText(str1);
}
else
{ p>
str2=str2+temp.getLabel();
t.setText(str2);
}
}
else if(e.getActionCommand().equals("oper"))
{
if(str1==""
{ p>
> countOper=0;
primero=true;
p>
}
else
{
countOper++;
if(countOper>1)
{
getResult();<
}
operador=temp.getLabel();
primero=false; p>
}
}
}
else if(e.getActionCommand().equals("cuadrado abierto"))
{
doble d=Math.sqrt(Double.parseDouble(str1));
str1=String.valueOf(d);
t .setText(String.valueOf(d));
first= false;
}
De lo contrario, if (e.getActionCommand().equals(" cuadrado"))
{
double f=Math.pow(Double.parseDouble(str1),2);
str1=String.valueOf(f );
t.setText(String.valueOf(f));
first=false;
}
String octStr= Long.toOctalString(i);
str1=octStr;
t.setText(str1);
primero=false;
}
else if(e. getActionCommand().equals("hex"))
{
int i=Integer.parseInt(str1);
Cadena hexStr=Long.toHexString(i);
str1= hexStr;
t.setText(str1);
primero= falso;
}
else if(e.getActionCommand().equals("clear"))
{
str1= "";// Borrar
str2="";
t.setText("");
countOper=0;
primero=true;
error=false;
}
else if(e.getActionCommand().equals("equals"))
{
if ((str1=="")||(str2==""))
{
countOper=0;
primero=verdadero
}
más
{
getResult();
countOper=0;
}
}
}
public void getResult()
{
num1= Double.equals("dividir por"))
{
if(num2
==0.0)
{
error=true;
}
más
{
resultado=num1/num2;
}
}
si(error)
{
t.setText("error");
}
else
{
t.setText( String.valueOf(resultado));
str1=String.valueOf(resultado
str2=""
}
}
public static void main(String[] args)
{
new Counter();
}
}
}