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

📄 twentyfourpoint.java

📁 一款简单的二十四点游戏
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
		      	    	                 Str[p][q]=StrB[0][q]+"-"+"("+StrA[p][0]+")"+"="+(int)result;//fourDigits.format(result);
		      	    	                 if(p==2||p==3||p==4)
		      	    	                 Str[p][q]=StrB[0][q]+"-"+StrA[p][0]+"="+(int)result;//fourDigits.format(result);
		      	    	                 if(result>23.9999&&result<24.0001) vectorstring.addElement(Str[p][q]);
		      	    	                 
		      	    	               }
		   	                           break;
		   	                  
		   	                    case 2:result=numberA[p]*numberB[q];
		   	                           if((p==0||p==1)&&(q==0||q==1))
		      	    	               Str[p][q]="("+StrA[p][0]+")"+"*"+"("+StrB[0][q]+")"+"="+(int)result;//fourDigits.format(result);
		      	    	               if((p==0||p==1)&&(q==2||q==3||q==4))
		      	    	               Str[p][q]="("+StrA[p][0]+")"+"*"+StrB[0][q]+"="+(int)result;//fourDigits.format(result);
		      	    	               if((p==2||p==3||p==4)&&(q==0||q==1))
		      	    	               Str[p][q]=StrA[p][0]+"*"+"("+StrB[0][q]+")"+"="+(int)result;//fourDigits.format(result);
		      	    	               if((p==2||p==3||p==4)&&(q==2||q==3||q==4))
		      	    	               Str[p][q]=StrA[p][0]+"*"+StrB[0][q]+"="+(int)result;//fourDigits.format(result);
		      	    	               if(result>23.9999&&result<24.0001) 
		      	    	               vectorstring.addElement(Str[p][q]);
		   	                           break;             
		   	                    case 3:result=numberA[p]/numberB[q];
		   	                           if(p==0||p==1)
		      	    	               Str[p][q]="("+StrA[p][0]+")"+"/"+"("+StrB[0][q]+")"+"="+(int)result;//fourDigits.format(result);
		      	    	               if(p==2||p==3||p==4)
		      	    	               Str[p][q]=StrA[p][0]+"/"+"("+StrB[0][q]+")"+"="+(int)result;//fourDigits.format(result);
		      	    	               if(result>23.9999&&result<24.0001) 
		      	    	               vectorstring.addElement(Str[p][q]);
		   	                           break;
		   	                    
		   	                    case 4:result=numberB[q]/numberA[p];
		   	                           if(q==0||q==1)
		      	    	               Str[p][q]="("+StrB[0][q]+")"+"/"+"("+StrA[p][0]+")"+"="+(int)result;//fourDigits.format(result);
		      	    	               if(q==2||q==3||q==4)
		      	    	               Str[p][q]=StrB[0][q]+"/"+"("+StrA[p][0]+")"+"="+(int)result;//fourDigits.format(result);
		      	    	               if(result>23.9999&&result<24.0001) vectorstring.addElement(Str[p][q]);
		   	                           break;
		   	    	    		
		   	    	    	}
		   	    	    }
		   	    }//end if
		  }//end for
		  //area.setText(status);
	}
	//31情况
	public void arithmetic2()
	{
		
		for(x=0;x<4;x++)
		{
			 vector=(Vector)vectorcopy.clone();
			 vector.removeElementAt(x);
			 for(i=0;i<2;i++)
		     for(j=1;j<3;j++)
		     {
		        if(j==i) j++;		        
		     	if(i==0&&j==1) m=2;
		     	if(i==0&&j==2) m=1;
		     	if(i==1&&j==2) m=0;
		     	 
		        for(k=0;k<5;k++)
		        {
		         	switch(k)
		      	    {
		      		 case 0:numberA[k]=(Double)vector.get(i)+(Double)vector.get(j);
		      		        StrA[k][0]=((Double)vector.get(i)).intValue()+"+"+((Double)vector.get(j)).intValue();
		      		        break;
		   	         case 1:if((Double)vector.get(i)>=(Double)vector.get(j))
		   	                {
		   	                	numberA[k]=(Double)vector.get(i)-(Double)vector.get(j);
		   	                	StrA[k][0]=((Double)vector.get(i)).intValue()+"-"+((Double)vector.get(j)).intValue();
		   	                	break;
		   	                }
		   	                else
		   	                {
		   	                	numberA[k]=(Double)vector.get(j)-(Double)vector.get(i);
		   	                    StrA[k][0]=((Double)vector.get(j)).intValue()+"-"+((Double)vector.get(i)).intValue();
		   	                    break;
		   	                }
		   	         case 2:numberA[k]=(Double)vector.get(i)*(Double)vector.get(j);
		   	                StrA[k][0]=((Double)vector.get(i)).intValue()+"*"+((Double)vector.get(j)).intValue();
		   	                break;
		   	         case 3:numberA[k]=(Double)vector.get(i)/(Double)vector.get(j);
		   	                StrA[k][0]=((Double)vector.get(i)).intValue()+"/"+((Double)vector.get(j)).intValue();
		   	                break;
		   	         case 4:numberA[k]=(Double)vector.get(j)/(Double)vector.get(i);
		   	                StrA[k][0]=((Double)vector.get(j)).intValue()+"/"+((Double)vector.get(i)).intValue();
		   	                break;
		      	    }
		      			
		      	}	
		   	    for(int p=0;p<numberA.length;p++)
		   	       for(k=0;k<5;k++)
		   	       {
		   	    	  switch(k)
		   	    	  {
		   	    	  	case 0:number[p][k]=numberA[p]+(Double)vector.get(m);
		   	    	  		   Str[p][k]=StrA[p][0]+"+"+((Double)vector.get(m)).intValue();
		   	    	  		   break;
		   	    	  	case 1:if(numberA[p]>=(Double)vector.get(m))
		   	    	  		   {
		   	    	  		      number[p][k]=numberA[p]-(Double)vector.get(m);
		   	    	  		      Str[p][k]=StrA[p][0]+"-"+((Double)vector.get(m)).intValue();
		   	    	  		   }
		   	    	  		   else
		   	    	  		   {
		   	    	  		      number[p][k]=(Double)vector.get(m)-numberA[p];
		   	    	  		      if(p==0||p==1)
		   	    	  		      Str[p][k]=((Double)vector.get(m)).intValue()+"-"+"("+StrA[p][0]+")"; 
		   	    	  		      if(p==2||p==3||p==4)
		   	    	  		      Str[p][k]=((Double)vector.get(m)).intValue()+"-"+StrA[p][0];  	    	  		       	 
		   	    	  		   }
		   	    	  		   break;
		   	    	    case 2:number[p][k]=numberA[p]*(Double)vector.get(m);
		   	    	           if(p==0||p==1)
		   	    	  		   Str[p][k]="("+StrA[p][0]+")"+"*"+((Double)vector.get(m)).intValue();
		   	    	  		   if(p==2||p==3||p==4)
		   	    	  		   Str[p][k]=StrA[p][0]+"*"+((Double)vector.get(m)).intValue();
		   	    	  		   
		   	    	  		   break;
		   	    	    case 3:number[p][k]=numberA[p]/(Double)vector.get(m);
		   	    	           if(p==0||p==1)
		   	    	  		   Str[p][k]="("+StrA[p][0]+")"+"/"+((Double)vector.get(m)).intValue();
		   	    	  		   if(p==2||p==3||p==4)
		   	    	  		   Str[p][k]=StrA[p][0]+"/"+((Double)vector.get(m)).intValue();
		   	    	  		   break;
		   	    	  	case 4:number[p][k]=(Double)vector.get(m)/numberA[p];		   	    	  	       
		   	    	  		   Str[p][k]=((Double)vector.get(m)).intValue()+"/"+"("+StrA[p][0]+")";
		   	    	  		   
		   	    	  		   break;
		   	    	  }
		   	    	  	
		   	    	  }
		   	    	  
		   	        for(int p=0;p<5;p++)
		   	         for(int q=0;q<5;q++)
		   	    	  for(k=0;k<5;k++)
		   	    	  {
		   	    	  	switch(k)
		   	    	  	{
		   	    	  		case 0:result=number[p][q]+number4[x];
		   	    	  		       Str_End[p][q][k]=Str[p][q]+"+"+(int)number4[x]+"="+(int)result;//fourDigits.format(result);
		      	    	           if(result>23.9999&&result<24.0001) vectorstring.addElement(Str_End[p][q][k]);
		   	                       break;
		   	    	  		case 1:if(number[p][q]>=number4[x])
		   	    	  		       {
		   	    	  		       	 result=number[p][q]-number4[x];
		   	    	  		         Str_End[p][q][k]=Str[p][q]+"-"+(int)number4[x]+"="+(int)result;//fourDigits.format(result);
		      	    	             if((result>23.9999&&result<24.0001)) 
		      	    	             vectorstring.addElement(Str_End[p][q][k]);
		      	    	           }
		      	    	           else
		      	    	           {
		      	    	           	 result=number4[x]-number[p][q];
		      	    	           	 if(q==0||q==1)
		      	    	           	 Str_End[p][q][k]=(int)number4[x]+"-"+"("+Str[p][q]+")"+"="+(int)result;//fourDigits.format(result);
		      	    	           	 if(q==2||q==3||q==4)
		   	    	  		         Str_End[p][q][k]=(int)number4[x]+"-"+Str[p][q]+"="+(int)result;//fourDigits.format(result);
		   	    	  		         if(result>23.9999&&result<24.0001)  vectorstring.addElement(Str_End[p][q][k]);
		      	    	           }
		   	                       break;
		   	    	  		case 2:result=number[p][q]*number4[x];
		   	    	  		       if(q==0||q==1)
		   	    	  		       Str_End[p][q][k]="("+Str[p][q]+")"+"*"+(int)number4[x]+"="+(int)result;//fourDigits.format(result);
		   	    	  		       if(q==2||q==3||q==4)
		   	    	  		       Str_End[p][q][k]=Str[p][q]+"*"+(int)number4[x]+"="+(int)result;//fourDigits.format(result);
		      	    	           if(result>23.9999&&result<24.0001) 
		      	    	           vectorstring.addElement(Str_End[p][q][k]);
		   	                       break;
		   	    	  		case 3:result=number[p][q]/number4[x];
		   	    	  		       if(q==0||q==1)
		   	    	  		       Str_End[p][q][k]="("+Str[p][q]+")"+"/"+(int)number4[x]+"="+(int)result;//fourDigits.format(result);
		   	    	  		       if(q==2||q==3||q==4)
		   	    	  		       Str_End[p][q][k]=Str[p][q]+"/"+(int)number4[x]+"="+(int)result;//fourDigits.format(result);
		      	    	           if(result>23.9999&&result<24.0001) 
		      	    	           vectorstring.addElement(Str_End[p][q][k]);
		   	                       break;
		   	                case 4:result=number4[x]/number[p][q];
		   	    	  		       Str_End[p][q][k]=(int)number4[x]+"/"+"("+Str[p][q]+")"+"="+(int)result;//fourDigits.format(result);
		      	    	           if(result>23.9999&&result<24.0001) 
		      	    	           vectorstring.addElement(Str_End[p][q][k]);
		      	    	           break;
		   	    	  	}
		   	    	  	
		   	    	  }
		   	    	      
		   	  }//for  end(i/j)
		   	    	    
		  }//for end(x)
		  
	}
	
	public void match()
	{
		for(i=0;i<vectorstring.size();i++)
		{
			
			if(InputField.getText().equalsIgnoreCase(vectorstring.elementAt(i).toString()))
			{
				out+="答案正确,Excellent!!!\n";
			    break;
			}
			if(!InputField.getText().equalsIgnoreCase(vectorstring.get(i).toString())&&i==vectorstring.size()-1)
			  out+="很遗憾,答案错误!继续加油!!\n";
			  			
		}
		
	}
	
	public void ShowAnswer()
	{
		
		for( int x=0;x<NumField.length;x++)
        { 	
    			number4[x]=Double.parseDouble(NumField[x].getText());    			
    			//Number4[x]=Integer.parseInt(NumField[x].getText());
    			vector.addElement(number4[x]);
    			vectorcopy.addElement(number4[x]);
    		  	
    	}
    		
    		  	
    		if
    		(
    			number4[0]<=13&&number4[0]>=1&&
    			number4[1]<=13&&number4[1]>=1&&
    			number4[2]<=13&&number4[2]>=1&&
    			number4[3]<=13&&number4[3]>=1 
    		)
    		{
    			
    			arithmetic1();
    		    arithmetic2();
    		    //删除重复答案
    		    for(i=0;i<vectorstring.size();i++)
    		      for(j=i+1;j<vectorstring.size();j++)
    		      	if(vectorstring.get(i).toString().equalsIgnoreCase(vectorstring.get(j).toString()))
    		      	{
    		      		vectorstring.removeElementAt(j);
    		      		j--;
    		      	}
    		      	
    		    for(i=0;i<vectorstring.size();i++)
    		      status+=(String)vectorstring.get(i)+"\n";
    		    
    		    if(status!="")  status+="这组数共有"+vectorstring.size()+"个解\n";
    		    else  status="这组数没有正解,请重新赋值!!!\n";
    		    
    		}
    		
    		else
    		{
    		
    			for(  x=0;x<NumField.length;x++)
    			  for( int y=0;y<13;y++)
    			  {
    			    if((!NumField[x].getText().equalsIgnoreCase(String.valueOf(y)))||
    			        NumField[x].getText()=="")
    			       
    			   JOptionPane.showMessageDialog( this,NumField[x].getText()+"输入不合法,请输入1-13的整数","错误",JOptionPane.ERROR_MESSAGE );
    		      
              
    		    }
    		    
    		}	  
    			
	}
	
	public static void main(String args[])
	{
		TwentyFourPoint application=new TwentyFourPoint();
		application.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		
	}
}

⌨️ 快捷键说明

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