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

📄 mycalculator.java

📁 计算器 JAVA编写 图形界面
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
	   textField.setText(textField.getText()+output);}
   if(click==buttons[ 12 ])
		{output+="6";
	   textField.setText(textField.getText()+output);}
   if(click==buttons[ 16 ])
		{output+="1";
	   textField.setText(textField.getText()+output);}
   if(click==buttons[ 17 ])
		{output+="2";
	   textField.setText(textField.getText()+output);}
   if(click==buttons[ 18 ])
		{output+="3";
	   textField.setText(textField.getText()+output);}
   if(click==buttons[ 22 ])
			{output+="0";
	   textField.setText(textField.getText()+output);}
   if(click==buttons[ 2 ])
			{textField.setText("");answer=mid=0;
             textField3.setText("中间结果:");
             if(textField2.getText().equals("ERROR!!! M"))
				 textField2.setText("\tM");
			 if(!textField2.getText().equals("\tM"))
				 textField2.setText("");
			 }	
   
    //"空"的错误
  if(textField.getText().equals(""))
		{if(click==buttons[21]||click==buttons[24]||click==buttons[23]||click==buttons[25]||click==buttons[19]||
	        click==buttons[13]||click==buttons[7]||click==buttons[26]||click==buttons[20]||click==buttons[8]||click==buttons[14])
			{if(textField2.getText().equals("\tM")){textField2.setText("ERROR!!! M");}
	         else textField2.setText("ERROR!!!");}
		}

   //小数点
   if(click == buttons[24]){
        boolean exist = false;
        if(textField.getText().length() == 0)
        exist = true;
        for (int i = 0; i < textField.getText().length(); i++)
        if('.' == textField.getText().charAt(i)) 
		{exist = true;break;}
        if(exist == false)
			{output+=".";
		textField.setText(textField.getText() + output);}
      }
 
  //+/-键
   if (click == buttons[23])
		{String judge2=textField.getText();
          if(judge2.charAt(0)!='-')
			{textField.setText('-' + judge2);}
		  else
			{double change=Math.sqrt((Double.parseDouble(judge2))*(Double.parseDouble(judge2)));
			  textField.setText(""+change);}
		  }
  
  //sqrt键
   if(click == buttons[8]){
        String judge1 = textField.getText();
        if(judge1.charAt(0)=='-') 
			{textField2.setText("ERROR!!!");}
        else
	  {answer=Math.sqrt(Double.parseDouble(textField.getText()));
         textField.setText(""+answer);}
      }
  
  //1/x键
   if(click==buttons[20]){
	  if(Double.parseDouble(textField.getText())!=0)
	  {answer=1/(Double.parseDouble(textField.getText()));
         textField.setText(""+answer);}
		 else
	  {textField2.setText("ERROR!!!");}
  }


  //CE键
      if (click==buttons[1])
		 {textField.setText("");}
  
  //退格键
   if(click==buttons[0])
	 {String remember0=textField.getText();
	   textField.setText("");
	  for(int i=0;i<remember0.length()-1;i++)
	  {textField.setText(textField.getText()+remember0.charAt(i));}
	 }

  //About键
  if(click==buttons[27])
  JOptionPane.showMessageDialog(null,"欢 迎 使 用 0461038 计 算 器 : )\n\tAlmost  Final  Version1.0", "About",JOptionPane.WARNING_MESSAGE);
      
  //MS键
  if(click==buttons[3]&&(!textField.getText().equals("")))
		{textField2.setText("\tM");
         MM=Double.parseDouble(textField.getText());}

  //MR键
  if(click==buttons[9]&&(textField2.getText().equals("\tM")))
		{textField.setText(""+MM);}
  
  //MC键
  if(click==buttons[15]&&(textField2.getText().equals("\tM")))
		{textField2.setText("");
         MM=0;}

  //M+键
  if(click==buttons[21]&&(textField2.getText().equals("\tM")))
		{MM+=Double.parseDouble(textField.getText());}
 
	  

  //%键
  if (click==buttons[14]) {
        if (answer==0) {
          String remember21= textField.getText();
          textField.setText(remember21);
        
        double remember22=Double.parseDouble(textField.getText());
         remember22=1+remember22/100;
         textField.setText(""+remember22);
          }}
         
       
    
	  
		      

  //四则运算+-*/
   if(click == buttons[25]||click == buttons[19]||click == buttons[13]||click == buttons[7]){
        
		//+键
        if(click == buttons[25]){
			switch (remember32){
            case 0:
			  answer += Double.parseDouble(textField.getText());
              break;
            case 1:
              answer -= Double.parseDouble(textField.getText());
              break;
            case 2:
              answer *= Double.parseDouble(textField.getText());
              break;
            case 3:
              if(Double.parseDouble(textField.getText()) == 0){
                textField2.setText("ERROR!!!");}
              else
                answer /= Double.parseDouble(textField.getText());
              break;
            default:answer = Double.parseDouble(textField.getText());}
          textField.setText("");
          remember32 = remember31 = 0;}
        //-键
        if(click == buttons[19]){
           switch (remember32){
            case 0:
              answer += Double.parseDouble(textField.getText());
              break;
            case 1:
              answer -= Double.parseDouble(textField.getText());
              break;
            case 2:
              answer *= Double.parseDouble(textField.getText());
              break;
            case 3:
              if(Double.parseDouble(textField.getText()) == 0){
                textField2.setText("ERROR!!!");}
              else
                answer /= Double.parseDouble(textField.getText());
              break;
            default:answer = Double.parseDouble(textField.getText());}
           textField.setText("");
		  remember32 = remember31 = 1;}
        //*键
        if(click==buttons[13]){
            switch (remember32){
            case 0:
              answer += Double.parseDouble(textField.getText());
              break;
            case 1:
              answer -= Double.parseDouble(textField.getText());
              break;
            case 2:
              answer *= Double.parseDouble(textField.getText());
              break;
            case 3:
              if(Double.parseDouble(textField.getText()) == 0){
                textField2.setText("ERROR!!!");}
              else
                answer /= Double.parseDouble(textField.getText());
              break;
            default:answer = Double.parseDouble(textField.getText());}
          textField.setText("");
          remember32 = remember31 = 2;}
        ///键
        if(click==buttons[7]){
         switch (remember32){
            case 0:
              answer += Double.parseDouble(textField.getText());
              break;
            case 1:
              answer -= Double.parseDouble(textField.getText());
              break;
            case 2:
              answer *= Double.parseDouble(textField.getText());
              break;
            case 3:
              if(Double.parseDouble(textField.getText()) == 0){
                textField2.setText("ERROR!!!");}
              else
                answer /= Double.parseDouble(textField.getText());
              break;
            default:answer = Double.parseDouble(textField.getText());}
          textField.setText("");
          remember32 = remember31 = 3;}
		  }
      
	  //=键
      if(click==buttons[26]){//这一次按下等号
        //连等
        if(remember32 == 5){//上一次按下等号
          if(remember31 == 0){//不按运算符号,原来的remember31未再改变
            answer += mid;
            textField.setText(""+answer);}
          if(remember31 == 1){
            answer -= mid;
            textField.setText(""+answer);}
          if(remember31 == 2){
            answer *= mid;
            textField.setText(""+answer);}
          if(remember31 == 3){
            if(Double.parseDouble(textField.getText()) == 0){
              textField2.setText("ERROR!!!");}
            else{answer /= mid;
              textField.setText(""+answer);}}
			  }
       else{mid = Double.parseDouble(textField.getText());//上一次按下的不是等号,中间值存为按本次等号后的值,以备下一次若按等号时使用
          
		  //一般等
		  if(remember31 == 0){//不按运算符号,remember31未改变
            remember32 = -1;//排除以前记录的remember32可能干扰,不是特别重要
            answer += Double.parseDouble(textField.getText());
            textField.setText(""+answer);}
          if(remember31 == 1){
            remember32 = -1;
            answer -= Double.parseDouble(textField.getText());
            textField.setText(""+answer);}
          if(remember31 == 2){
            remember32 = -1;
            answer *= Double.parseDouble(textField.getText());
            textField.setText(""+answer);}
          if(remember31 == 3){
            remember32 = -1;
            if(Double.parseDouble(textField.getText()) == 0){
              textField2.setText("ERROR!!!");}
            else {answer /= Double.parseDouble(textField.getText());
                  textField.setText(""+answer);}}
				  }
				  remember32 = 5;}
      //middle值:
	  if(click == buttons[25]||click == buttons[19]||click == buttons[13]||click == buttons[7])
               textField3.setText("中间结果:"+answer);
	      
	
	}
	
	
	
	
	//
	private void addComponent( Component component )
    {
		layout.setConstraints( component, constraints );
        container.add( component ); // add component
		}
   // execute application
   public static void main( String args[] )
	   {
	   myCalculator application = new myCalculator();
	   application.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE );
 }

 } // end GUI myCalculator

⌨️ 快捷键说明

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