📄 calc.java
字号:
else i++;
}
//提取最后个符号后面的数据
System.out.println("yxiabiao="+yxiabiao+"\t dataXiaBiao is="+dataXiaBiao);
shuju[dataXiaBiao++]=Double.parseDouble(suans.substring(yxiabiao,suans.length()));
System.out.println("zuihou de shujushi di "+dataXiaBiao+"ge shi"+shuju[dataXiaBiao]);
System.out.println(shuju[1]+zifu[2]+shuju[3]+zifu[4]+shuju[5]);
// System.out.println(shuju[1]+zifu[2]+shuju[3]+zifu[3]+shuju[4]+zifu[4]);
/*************判断符号并计算****************
/*从字符叔祖中检查是否有* / 号
* 有的话 提取该符号前后的两个数据进行运算
* +-运算也一样的道理
*******************判断符号并计算************/
//先"*/"
int h;
for(i=0;i<chengchuNums;i++){
for(h=2;h<=dataXiaBiao;h+=2){
if(zifu[h].equals("*")||zifu[h].equals("/")){
if(zifu[h].equals("*")) {
System.out.println("检察到*");
shuju[h-1]=shuju[h-1]*shuju[h+1];
}
else {
System.out.println("检察到/");
shuju[h-1]=shuju[h-1]/shuju[h+1];
}
System.out.println("*/成功");
dataMove(h,dataXiaBiao);
System.out.println(shuju[1]+zifu[2]+shuju[3]+zifu[4]+shuju[5]+zifu[6]+shuju[7]);
break;
}
}
}
//后+-
for(i=0;i<fuhaoNums-chengchuNums;i++){
for(h=2;h<=dataXiaBiao;h+=2){
if(zifu[h].equals("+")||zifu[h].equals("-")){
if(zifu[h].equals("+")) {
System.out.println("检察到+");
shuju[h-1]=shuju[h-1]+shuju[h+1];
}
else {
System.out.println("检察到-");
shuju[h-1]=shuju[h-1]-shuju[h+1];
}
System.out.println("+-成功");
dataMove(h,dataXiaBiao);
System.out.println(shuju[1]+zifu[2]+shuju[3]+zifu[4]);
break;
}
}
}
// System.out.println(shuju[1]+zifu[2]+shuju[3]+zifu[4]+shuju[5]+zifu[6]+shuju[7]);
tf2.setText(shuju[1]+"");
System.out.println(shuju[1]+""+"\n"+"???");
return (shuju[1]+"");
}
//把数据往前移动2位
void dataMove(int i,int len){
for(;i<=len;i++){
shuju[i+1]=shuju[i+3];
zifu[i]=zifu[i+2];
}
}
//监听器哦
public void actionPerformed(ActionEvent e){
char temp[]=new char[1];
Random r=new Random();
int k;int i=0; String fh[]=new String[10];
// System.out.println(i); //test how it works ;after button one it restart again
tf3.enable(false);
ans=e.getActionCommand();
/* for(j=1;j<10;j++)
* {
*
* if (ans.equals(String.valueOf(j)))
* {
* temp[i++]=suans.charAt(j) ;
* suans=tf1.getText();
* tf1.setText(suans+temp[i-1]);
* }
* }
*/
if (ans.equals("1")){
temp[i++]='1';
suans=tf1.getText();
tf1.setText(suans+temp[i-1]);
}
if (ans.equals("2")){
temp[i++]='2';
suans=tf1.getText();
tf1.setText(suans+temp[i-1]);
}
if (ans.equals("3")){
temp[i++]='3';
suans=tf1.getText();
tf1.setText(suans+temp[i-1]);
}
if (ans.equals("4")){
temp[i++]='4';
suans=tf1.getText();
tf1.setText(suans+temp[i-1]);
}
if (ans.equals("5")){
temp[i++]='5';
suans=tf1.getText();
tf1.setText(suans+temp[i-1]);
}
if (ans.equals("6")){
temp[i++]='6';
suans=tf1.getText();
tf1.setText(suans+temp[i-1]);
}
if (ans.equals("7")){
temp[i++]='7';
suans=tf1.getText();
tf1.setText(suans+temp[i-1]);
}
if (ans.equals("8")){
temp[i++]='8';
suans=tf1.getText();
tf1.setText(suans+temp[i-1]);
}
if (ans.equals("9")){
temp[i++]='9';
suans=tf1.getText();
tf1.setText(suans+temp[i-1]);
}
if (ans.equals("0")){
temp[i++]='0';
suans=tf1.getText();
tf1.setText(suans+temp[i-1]);
}
if (ans.equals(".")){
temp[i++]='.';
suans=tf1.getText();
tf1.setText(suans+temp[i-1]);
}
if (ans.equals("+")){
temp[i++]='+';
suans=tf1.getText();
tf1.setText(suans+temp[i-1]);
}
if (ans.equals("-")){
temp[i++]='-';
suans=tf1.getText();
tf1.setText(suans+temp[i-1]);
}
if (ans.equals("*")){
temp[i++]='*';
suans=tf1.getText();
tf1.setText(suans+temp[i-1]);
}
if (ans.equals("/")){
temp[i++]='/';
suans=tf1.getText();
tf1.setText(suans+temp[i-1]);
}
if (ans.equals("Backspace")){
suans=tf1.getText();
suans=suans.substring(0,suans.length()-1);
tf1.setText(suans);
}
if (ans.equals("out")){
System.exit(0);
}
if (ans.equals("sqrt")){
suans=tf1.getText();
if (suans.length()<1) a1=0;
else a1=Double.parseDouble(suans);
a1=Math.sqrt(a1);
tf2.setText(a1+"");
}
if (ans.equals("%")){
tf2.setText("");
suans=tf1.getText();
if (suans.length()<1) a1=0;
else a1=100*Double.parseDouble(suans);
tf2.setText(a1+"%");
}
if (ans.equals("1/x")){
suans=tf1.getText();//string
suans=tf1.getText();
if (suans.length()<1) a1=0;
else a1=Double.parseDouble(suans);
a1=1/a1;
tf2.setText(""+a1);
tf1.setText("");
suans=tf1.getText();
i=0;
}
if (ans.equals("C")){
i=0;
tf1.setText("");
tf2.setText("0");
tf3.setText("");
suans=tf1.getText();
}
if (ans.equals("=")){
try{
suans=tf1.getText();
System.out.println(suans);
if(check(suans)) clear(suans);
}catch(Exception aa){
tf2.setText(aa.getMessage());
}
} //调用表达式子计算
if (ans.equals("+/-")) {
if(tf1.getText().length()<1){
suans=tf2.getText();
if ((a1=Double.parseDouble(suans))==0)
tf1.setText(""+suans);
else if ((a1=Double.parseDouble(suans))>0)
tf1.setText("-"+suans);
else tf1.setText(""+Math.abs(a1));
}
else {
suans=tf1.getText();
if ((a1=Double.parseDouble(suans))>0) tf1.setText("-"+suans);
else tf1.setText(""+Math.abs(a1));
}
}
if (ans.equals("(")){
temp[i++]='(';
suans=tf1.getText();
tf1.setText(suans+temp[i-1]);
};
if (ans.equals(")")){
temp[i++]=')';
suans=tf1.getText();
tf1.setText(suans+temp[i-1]);
};
if (ans.equals("M-"));
if (ans.equals("M+"));
}
public static void main(String args[])throws Exception{
DangBuCalc2 f=new DangBuCalc2();
f.creat();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -