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

📄 calc.java

📁 这是我上学期收集的一些我们班高手的JAVA期末作业的源代码
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
            else     data1=(int)(data1/10); 
            displayNumber=new Double(data1);
            tf.setText(displayNumber.toString()); 
           }        
        if(s.equals("MC"))
           {            
              memDataIndicate=false;
              memData=0; 
           }                        
        if(s.equals("MR")&&memDataIndicate){              
                            data1=memData; 
                            equalSignPressIndicate=true;
			    radixPointDepth=1;
   		            radixPointIndicate=false;	
   		            //显示数据
    		            displayNumber=new Double(data1);
	                    tf.setText(displayNumber.toString());
                          } 
        if(s.equals("MS"))
             { 
                if(equalSignPressIndicate||(numberPressIndicate==false))
                     {  
                        memData=result; 
                        displayNumber=new Double(result);
                        tf.setText(displayNumber.toString()); 
                      }   
                else
                    {               
                       memData=data1; 
                       displayNumber=new Double(data1);	
                       tf.setText(displayNumber.toString());
		    }
	        equalSignPressIndicate=true;
		memDataIndicate=true;
	        prec='+';
		radixPointDepth=1;
		radixPointIndicate=false; 
             }               
        if(s.equals("M+"))
             { 
                if(equalSignPressIndicate||(numberPressIndicate==false))
                      { 
                         memData=memData+result; 
                         displayNumber=new Double(result);
                         tf.setText(displayNumber.toString()); 
                      }  
                else
                    {   
                        memData=memData+data1;
                        displayNumber=new Double(data1);
	        	tf.setText(displayNumber.toString());
		    }
	        equalSignPressIndicate=true;
		memDataIndicate=true;
	        prec='+';
		radixPointDepth=1;	
                radixPointIndicate=false; 
            }                                
      if(s.equals("sin"))
          {    //按下sin键求正弦
             if(equalSignPressIndicate||(numberPressIndicate==false)){ 
                       result=Math.sin(result*PI/180);
                       displayNumber=new Double(result);
                       tf.setText(displayNumber.toString());
                     }
             else{ 
                    data1=Math.sin(data1*PI/180);
                    displayNumber=new Double(data1);
                    tf.setText(displayNumber.toString());
                  } 
          } 
      if(s.equals("cos"))
          {    //按下cos键求余弦
             if(equalSignPressIndicate||(numberPressIndicate==false)){ 
                       result=Math.cos(result*PI/180);
                       displayNumber=new Double(result);
                       tf.setText(displayNumber.toString());
                      }
             else{ 
                    data1=Math.cos(data1*PI/180);
                    displayNumber=new Double(data1);
                    tf.setText(displayNumber.toString());
                  }
           }  
      if(s.equals("tan"))
           {    //按下tan键求正切
              if(equalSignPressIndicate||(numberPressIndicate==false)){
                        result=Math.tan(result*PI/180);
                        displayNumber=new Double(result);
                        tf.setText(displayNumber.toString());
                       }
              else{
                     data1=Math.tan(data1*PI/180);
                     displayNumber=new Double(data1);
                     tf.setText(displayNumber.toString());
                   }
            }   
      if(s.equals("x^2"))
           {    //按下x^2键求平方
              if(equalSignPressIndicate||(numberPressIndicate==false)){
                        result=result*result;
                        displayNumber=new Double(result);
                        tf.setText(displayNumber.toString());
                       }
              else{
                     data1=data1*data1;
                     displayNumber=new Double(data1);
                     tf.setText(displayNumber.toString());
                   }
            }   
        if(s.equals("sqrt"))
            {             //按下sqrt键,进行开平方运算
                if(equalSignPressIndicate||(numberPressIndicate==false))
                      {    
                         result=Math.sqrt(result);    
                         displayNumber=new Double(result);
	                 tf.setText(displayNumber.toString()); 
                      }  
                else
                    {   
                        data1=Math.sqrt(data1);
                        displayNumber=new Double(data1);
	                tf.setText(displayNumber.toString());
		     } 
             }

     if(s.equals("1/x")||s.equals("+/-"))   
      //为了区别1键和1/x键的第一个字符都为1,+/-键和+键的第一个字符都为+
      { 
          if(s.equals("1/x"))    //按下1/x键,求倒数运算理 
             {    if(equalSignPressIndicate||(numberPressIndicate==false))
                      {  
                         result=1/result;
                         displayNumber=new Double(result);
	                 tf.setText(displayNumber.toString()); 
                       }     
                 else
                     {  
                        data1=1/data1; 
                        displayNumber=new Double(data1);	
        	        tf.setText(displayNumber.toString());
		     }	
 	      }	
          if(s.equals("+/-"))   //按下+/-键,取正负操作              
              {		          
                 if(equalSignPressIndicate||(numberPressIndicate==false))
                      {  
                         result=0-result;  
                         displayNumber=new Double(result);
	                 tf.setText(displayNumber.toString()); 
                       }   
                 else
                     {     
                        data1=0-data1; 
                        displayNumber=new Double(data1);
	                tf.setText(displayNumber.toString());
	             }	
	       }	
       }    
     else{   
          switch(s.charAt(0))
             {   //数字输入程序 
              case '0': case '1': case '2': case '3': case '4': case '5':
              case '6': case '7': case '8': case '9':	
        	//按完等号键后,直接按任何数字键,计算器认为应该清零后从新计算
                if(equalSignPressIndicate){	
		      	         //以下六条语句为初始化计算器即清零
                                 result=0;	
	                         data1=0;	
		                 prec='+';
				 radixPointDepth=1;
				 numberPressIndicate=false;
                                 radixPointIndicate=false;
			      }	             
	        if(radixPointIndicate){	
 	                         radixPointDepth=radixPointDepth/10;
		                 data1=data1+(Integer.parseInt(s))*radixPointDepth;	
 	                      }	
 		 else      data1=data1*10+(Integer.parseInt(s));
	        numberPressIndicate=true;
	        equalSignPressIndicate=false;
	        //显示数据
 	        displayNumber=new Double(data1);
                tf.setText(displayNumber.toString());
                break;
              //在按+ ,- ,* ,/ ,= ,mod号后处理程序
	      case '+': case '-': case '*':case '/': case '=': case 'm':
	        if(s.charAt(0)!='='&&equalSignPressIndicate){
			           prec=s.charAt(0);
	                           equalSignPressIndicate=false;
			      }	 
       	        else{
	               switch(prec){
    	                            case '+':
			                     result=result+data1;
                                             break;
		                    case '-':
			                     result=result-data1;
				             break;
				    case '*':
			   	             result=result*data1;
					     break;
				    case '/':
		      	                     result=result/data1;
					     break;
                                    case 'm':
                                             result=result%data1;
                                             break;
			            case 'p':	
			                     result=Math.pow(result,data1);
                        	  }	
		    }	
		 radixPointIndicate=false;
		 radixPointDepth=1;
		 numberPressIndicate=false;
	         if(s.charAt(0)!='='){  
                                 data1=0;	
    		                 prec=s.charAt(0);
			       }  
	         else     equalSignPressIndicate=true;	
		 //显示数据
		 displayNumber=new Double(result);
	         tf.setText(displayNumber.toString());					
	         break;
               case '.':
  		 radixPointIndicate=true;
		 numberPressIndicate=true;
	         break;	
               case '%': 
                 if(equalSignPressIndicate||(numberPressIndicate==false)){ 
              	         result=result*100;     
                         displayNumber=new Double(result);
	        	 tf.setText(displayNumber.toString()); 
                        } 
                 else{  
                        data1=data1/100;  
                        displayNumber=new Double(data1);
	        	tf.setText(displayNumber.toString());	
                      }  
                 break;  
              }
          }     
 
    }
   public void windowClosing(WindowEvent e){ System.exit(0);   }
}




















 
    

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -