⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 calc.java

📁 计算 形如 1+2+(545.212-87987/5454)*45 运算符号只能是+-*/()这些
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
			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 + -