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

📄 java.txt

📁 程序功能:本例是一个 考一考!小学生四则运算趣味测试游戏。游戏有计算机随机产生一个算术表达式
💻 TXT
字号:
/*
 *** 程序名称:Cacmath1_1.java
 *** 程序功能:本例是一个 考一考!小学生四则运算趣味测试游戏。游戏有计算机随机产生一个算术表达式,
 *** 由你给除答案,然后将你的答题情况记录下来。当答题一段时间后,你可以点击【计分】统计。还可以
 *** 点击【重来】开始新的测试
 *** 时间 08.04.02   
 */
package lijunfenghegouxiangyang;
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
import java.applet.*;

   public class MathGame extends Applet implements ActionListener
   { 
	   Label MathExp;
	   TextField TxtResult;

	   TextArea OutputInfo;
	   Button ButReset,TotalScore;
	   int Num1,Num2,Opt,IntResult;
	   int TNum=0,FNum=0;
	   float FNum1,FNum2,FResult;  //dang Opt==3  shi,两数相除可能为小数
	   String SExp="",SOpt=" ";
	 
	   
	    
	   public void init()
	   {
		    MathExp=new Label("                     ",Label.RIGHT);  //此标签用来显示随即产生的数学表达式
		    MathExp.setFont(new Font("Courier",Font.BOLD,24));
		    TxtResult=new TextField(8);
		    TxtResult.setFont(new Font("Courier",Font.BOLD,24));
		    TxtResult.setForeground(Color.blue);
		    OutputInfo=new TextArea("      这里是你的答题信息,怎么样!!挑战一下………………………\n",6,50,TextArea.SCROLLBARS_BOTH);
		    OutputInfo.append("****************\n");
		    ButReset=new Button("重来");TotalScore=new Button("计分");                                         this.setLayout(null);  //取消java语言提供的布局管理。采用自定布局各组件位置和大小
		    MathExp.setBounds(70,20,130,30);  //设置MathExp组件的位置(20,20)和大小(130,30)
		    this.add(MathExp,null);
		    
		    TxtResult.setBounds(220,20,100,30);
		    this.add(TxtResult,null);
		    
		     OutputInfo.setBounds(20,80,400,150);
		     this.add(OutputInfo,null);
		     
		     TotalScore.setBounds(140,240,60,30);
		     ButReset.setBounds(220,240,60,30);
		     this.add(TotalScore,null);
		     this.add(ButReset,null);
		     
		     
		     TxtResult.addActionListener(this);
		     TotalScore.addActionListener(this);
		     ButReset.addActionListener(this);
		     
		     
		     
		     
		     
		     }
	   public void paint(Graphics g)
	   {
		    Num1=(int)(Math.random()*100);  //Integer.MAX_VALUE);
		    Num2=(int)(Math.random()*100);  //Integer.MAX_VALUE);
		    Opt=(int)(Math.random()*4);
		    
		    
		    switch(Opt)
		 {
		    case 0:SOpt="+";IntResult=Num1+Num2;break;
		    case 1:SOpt="-";IntResult=Num1-Num2;break;
		    case 2:SOpt="*";IntResult=Num1*Num2;break;
		    case 3:SOpt="/";FResult=Num1/Num2;break;
		    //注:两数相除,可能带小数.
		    }
		    SExp=" "+Num1+" "+SOpt+" "+Num2+"=";
          
		 MathExp.setText(SExp);
	   }
	   public void actionPerformed(ActionEvent evt)
	   {   
		   if(evt.getActionCommand()=="重来")
		   {
			   
			   Num1=Num2=IntResult=0;
			   TNum=FNum=0;
			   FNum1=FNum2=FResult=0f;  //当OPt==3时,两数相除可能为小数
			   OutputInfo.setText("");
			   TxtResult.setText("");
			   TxtResult.requestFocus(); //获取焦点
			   repaint();
		   }
		   if(TxtResult.getText()!="")
		   {  
			   if(evt.getActionCommand()=="计分")
			   {  
				   OutputInfo.append("\n=================\n");//OutputInfo.getRows()
				   OutputInfo.append("\n一共答了;"+(TNum)+"道题。");
				   if(TNum>=2*FNum)//判断成绩是否为中等以上。
	 {
					   
			OutputInfo.append("\n 恭喜你!");
			OutputInfo.append(" 答对了:  "+TNum+" 道题,"+" 答错了:"+FNum+"  道题。");
	 }
				   else
			{
					   OutputInfo.append("\n  哈哈!你得努力。");
					   OutputInfo.append("对了:"+TNum+"  道题,"+"  错了: "+FNum+"  道题。");
			}
			OutputInfo.append("\n--------------");
			OutputInfo.append("\n  你当前的成绩为:"+TNum*1.0/(TNum+FNum)*100+"\n");//OutputInfo.getRows()-1
			   }
			   else
			 {
				   if(Opt==3)//当做除法运算时,
			{
					if((int)FResult==(int)Float.valueOf(TxtResult.getText()).floatValue())//这儿用了模糊相等。即判断整数部分。
					{
						
						TNum++;
						OutputInfo.append(SExp+TxtResult.getText()+"  @ 你真棒!\n");
						
						}
					else 
					{
						
						FNum++;
						OutputInfo.append(SExp+TxtResult.getText()+" # 继续努力!\n");
					
					}
			}
				   else //当做加,减,乘运算时,
				   {
		if(IntResult==Integer.parseInt(TxtResult.getText()))
		{
			
			TNum++;
			//OutputInfo.insert(SExp+TxtResult.getTxt()+" @ 你真棒!\n",0);
			OutputInfo.append(SExp+TxtResult.getText()+" @ 你真棒!\n");
			
			
		}
		else
		{
			
			FNum++;
			//OutputInfo.insert(SExp+TxtResult.getText()+"# 继续努力\n",0);
			OutputInfo.append(SExp+TxtResult.getText()+"# 继续努力\n");
			
		}
				   }
				   TxtResult.setText("");//清空文本框
				   repaint();
			 }
		   }
	   }
   }

   

⌨️ 快捷键说明

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