📄 calculatrice.java
字号:
////////////*********Bouton virgule********//////////////
else if(src==b)
{
if(!virg)
{
txt.setText(txt.getText()+".");
virg=true;
}
}
////////////*********Bouton Pi********//////////////
else if(src==bexp)
{
txt.setText(""+Math.PI);
virg=true;
}
////////////*********Bouton clear********//////////////
else if(src==bc)
{txt.setText("0");xp=1;xs=0;init=true;aux=0;shift=false;op=false;X1Y=true;
mult=false;div=false;som=false;soust=false;nAr=false;nCr=false;
activateP2P3(true);activatehex(false);Dec.setSelected(true);virg=false;
txt.setBackground(Color.black);txt.setForeground(Color.GREEN);}
////////////*********Bouton de +/-********//////////////
else if(src==bpm)
txt.setText(""+Double.parseDouble(txt.getText())*-1);
else if(src==bcl)
txt.setText(txt.getText().substring(0,txt.getText().length()-1));
////////////*********Multiplication********//////////////
else if(src==bMult)
{
try
{
if(init || op)
{
xp=(Double.parseDouble(txt.getText()));
init=false;virg=false;
txt.setText(""+xp);
}
else
{
Resultat();
xp=(Double.parseDouble(txt.getText()));
}
op=true;mult=true;div=false;som=false;soust=false;YX=false;
nAr=false;nCr=false;X1Y=true;
}catch(NumberFormatException execp)
{
txt.setBackground(Color.LIGHT_GRAY);txt.setForeground(Color.RED);
txt.setText("ERROR : CONVERTION AVEC VERGULE FLOTTANTE NON SUPPORTEE ");
activateP2P3(false);}
}
////////////*******Division******////////////
else if(src==bDiv)
{
try
{
if(init || op)
{
xp=(Double.parseDouble(txt.getText()));
init=false;virg=false;
txt.setText(""+xp);
}
else
{
Resultat();
xp=(Double.parseDouble(txt.getText()));
}
op=true;mult=false;div=true;som=false;soust=false;YX=false;
nAr=false;nCr=false;X1Y=true;
}catch(NumberFormatException execp)
{
txt.setBackground(Color.LIGHT_GRAY);txt.setForeground(Color.RED);
txt.setText("ERROR : CONVERTION AVEC VERGULE FLOTTANTE NON SUPPORTEE ");
activateP2P3(false);}
}
////////////////***********Somme**********////////////////
else if(src==bSom)
{
try
{
if(init || op)
{
xs=(Double.parseDouble(txt.getText()));
init=false;virg=false;
txt.setText(""+xs);
}
else
{
Resultat();
xs=(Double.parseDouble(txt.getText()));
}
op=true;mult=false;div=false;som=true;soust=false;YX=false;
nAr=false;nCr=false;X1Y=true;
}catch(NumberFormatException execp)
{
txt.setBackground(Color.LIGHT_GRAY);txt.setForeground(Color.RED);
txt.setText("ERROR : CONVERTION AVEC VERGULE FLOTTANTE NON SUPPORTEE ");
activateP2P3(false);}
}
////////////////************Soustraction***********//////////////////
else if(src==bSoust)
{
try
{
if(init || op)
{
xs=(Double.parseDouble(txt.getText()));
init=false;virg=false;
txt.setText(""+xs);
}
else
{
Resultat();
xs=(Double.parseDouble(txt.getText()));
}
op=true;mult=false;div=false;som=false;soust=true;YX=false;
nAr=false;nCr=false;X1Y=true;
}catch(NumberFormatException execp)
{
txt.setBackground(Color.LIGHT_GRAY);txt.setForeground(Color.RED);
txt.setText("ERROR : CONVERTION AVEC VERGULE FLOTTANTE NON SUPPORTEE ");
activateP2P3(false);}
}
//////////////////**************Resultat*************//////////////////
else if(e.getSource()==bRes)
{
Resultat();
init=true;virg=false;
}
//////////************Les fonction Scientifiques********/////////////
else if(src==b2ndF)
{shift=true;}
else if(src==bPuis)
{
aux=Double.parseDouble(txt.getText());
YX=true;init=false;nAr=false;nCr=false;X1Y=true;
op=true;mult=false;div=false;som=false;soust=false;
}
else if(src==b10x)
{
double x=Double.parseDouble(txt.getText());
double res=Math.pow(10,x);
txt.setText(""+res);
}
else if(src==bX2)
{
double x=Double.parseDouble(txt.getText());
double res=Math.pow(x,2);
txt.setText(""+res);
}
else if(src==bX1Y)
{
aux=Double.parseDouble(txt.getText());
YX=false;init=false;nAr=false;nCr=false;X1Y=true;
op=true;mult=false;div=false;som=false;soust=false;
}
else if(src==b1X)
{
double x=Double.parseDouble(txt.getText());
if(x!=0)
{txt.setText(""+(1/x));}
else {txt.setBackground(Color.LIGHT_GRAY);txt.setForeground(Color.RED);
txt.setText(" ERROR!! DIVISION PAR ZERO IMPOSSIBLE ");
activateP2P3(false);}
}
else if(src==bLog)
{
double x=Double.parseDouble(txt.getText());
if(!shift && x>0)
{
double res=Math.log(x);
txt.setText(""+res);
}
else if(shift && x>0)
{
double res=Math.log10(x);
txt.setText(""+res);
shift=false;
}
else if(x<=0)
{
txt.setBackground(Color.LIGHT_GRAY);txt.setForeground(Color.RED);
txt.setText(" ERROR!! RULE : \" X DOIT ETRE > A ZERO \" ");
activateP2P3(false);}
}
else if(src==bEx)
{
double x=Double.parseDouble(txt.getText());
double res=Math.exp(x);
txt.setText(""+res);
}
else if(src==bFact)
{
if(isValide(txt.getText()))
{double res=fact(Double.parseDouble(txt.getText()));
txt.setText(""+res);}
else
{
txt.setBackground(Color.LIGHT_GRAY);txt.setForeground(Color.RED);
txt.setText(" ERROR!! RULE : \" N DOIT ETRE UN ENTIER > A ZERO \" ");
activateP2P3(false);}
}
else if(src==bSin)
{
if(!shift)
{
double x=Math.toRadians(Double.parseDouble(txt.getText()));
double res=Math.sin(x);
txt.setText(""+res);
}
else
{
double x=Double.parseDouble(txt.getText());
double res=Math.asin(x);
txt.setText(""+Math.toDegrees(res));
shift=false;
}
}
else if(src==bCos)
{
if(!shift)
{
double x=Math.toRadians(Double.parseDouble(txt.getText()));
double res=Math.cos(x);
txt.setText(""+res);
}
else
{
double x=Double.parseDouble(txt.getText());
double res=Math.acos(x);
txt.setText(""+Math.toDegrees(res));
shift=false;
}
}
else if(src==bTan)
{
if(!shift)
{
double x=Math.toRadians(Double.parseDouble(txt.getText()));
double res=Math.tan(x);
txt.setText(""+res);
}
else
{
double x=Double.parseDouble(txt.getText());
double res=Math.atan(x);
txt.setText(""+Math.toDegrees(res));
shift=false;
}
}
else if(src==bSqrt)
{
double x=Double.parseDouble(txt.getText());
if(x>=0)
{double res=Math.sqrt(x);
txt.setText(""+res);}
else {
txt.setBackground(Color.LIGHT_GRAY);txt.setForeground(Color.RED);
txt.setText(" ERROR!! RULE : \" X DOIT ETRE > A ZERO \" ");
activateP2P3(false);}
}
else if(src==bRand)
{
double x=Double.parseDouble(txt.getText());
double res=Math.random();
txt.setText(""+res);
}
else if(src==bnAr)
{
aux=Double.parseDouble(txt.getText());
nAr=true;YX=false;init=false;
op=true;mult=false;div=false;som=false;soust=false;
}
else if(src==bnCr)
{
aux=Double.parseDouble(txt.getText());
nCr=true;YX=false;init=false;
op=true;mult=false;div=false;som=false;soust=false;
}
/////////************FIN des Fonctions Scientifiques********/////////
else if(src==bOff) System.exit(0);
}
public void itemStateChanged(ItemEvent i)
{
Object srci=i.getSource();
if(srci==Scie)
{
this.resize(452,564);
this.getContentPane().setLayout(new GridLayout(3,1));
this.getContentPane().add(pTxt);this.getContentPane().add(p3);
this.getContentPane().add(p2); this.setLocation(300,100);
}
else if(srci==Norm)
{
//Calculatrice c=new Calculatrice();
this.getContentPane().removeAll();
this.getContentPane().setLayout(new GridLayout(2,1));
this.resize(452,331);
this.getContentPane().add(pTxt);this.getContentPane().add(p2);
this.setLocation(300,100);
// c.show();
// this.dispose();
}
else if(dec)
{
activateOp(false);
String dep=txt.getText();
try
{
String s=fromDec(dep,detBaseDestination(srci));
txt.setText(s);}
catch(NumberFormatException e)
{
txt.setBackground(Color.LIGHT_GRAY);txt.setForeground(Color.RED);
txt.setText("ERROR : CONVERTION AVEC VERGULE FLOTTANTE NON SUPPORTEE ");
activateP2P3(false);}
}
else if(bin||oct||hex)
{
try
{
int x= toDec(txt.getText(),detBaseSource());
String s=""+x;
txt.setText(fromDec(s,detBaseDestination(srci)));}
catch(NumberFormatException e)
{
txt.setBackground(Color.LIGHT_GRAY);txt.setForeground(Color.RED);
txt.setText("ERROR : CONVERTION AVEC VERGULE FLOTTANTE NON SUPPORTEE ");
activateP2P3(false);}
}
}
public static void main (String[] args)
{
Calculatrice c=new Calculatrice();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -