• 软件工程个人作业02


    写一个能自动生成三十道小学四则运算题目的 “软件”,新的要求: 可以控制下列参数: 是否有乘除法; 是否有括号(最多可以支持十个数参与计算); 数值范围; 加减有无负数; 除法有无余数!

    程序设计思想:

    将要求的功能分别封装成类,在主函数中进行调用实现要求的功能。目前未能实现约分和多则运算,正在努力改进。

    源代码:

    package yunsuan;
    import java.util.Scanner;
    public class yunsuan {
    	public static void main(String[]args)
    	{
    		yunsuan a=new yunsuan();
    		System.out.println("请选择数值范围(最大值)");
    		Scanner in =new Scanner(System.in);
    		int range=in.nextInt();
    		System.out.println("请选择有无负数(1 or 2)");
    		int choose1=in.nextInt();
    		System.out.println("请选择有无乘除法(1 or 2)");
    		Scanner in3=new Scanner(System.in);
    		int choose2=in3.nextInt();
    		Scanner in1=new Scanner(System.in);
    		System.out.println("请输入要打印的数量");
    		int m=in1.nextInt();
    	
    		for(int n=0;n<m;n++)
    		{
    			char[] c1={'+','-','*','/'};
    		      int  c=(int)(Math.random()*4); 
    		      if(choose1==1&&choose2==1)
    		      {
    	         if(c1[c]=='+')
    	        {
    	        	 a.add(range);
    	        }
    	         else if(c1[c]=='-')
    	         {
    	        	 a.jian2(range);
    	         }
    	         else if(c1[c]=='*')
    	         {
    	        	 a.chen(range);
    	         }
    	         else if(c1[c]=='/')
    	         {
    	          a.chu1(range);
    	         }
    		    }
    		      else if((choose1==1&&choose2==2))
    		      {
    		    	  if(c1[c]=='+')
    			        {
    			        	 a.add(range);
    			        }
    			         else if(c1[c]=='-')
    			         {
    			        	 a.jian2(range);
    			         }
    			         else if(c1[c]=='*')
    			         {
    			        	m++;
    			         }
    			         else if(c1[c]=='/')
    			         {
    			          m++;
    			         }
    		    	  
    		      }
    		      else if((choose1==2&&choose2==2))
    		      {
    		    	  if(c1[c]=='+')
    			        {
    			        	 a.add(range);
    			        }
    			         else if(c1[c]=='-')
    			         {
    			        	 a.jian1(range);
    			         }
    			         else if(c1[c]=='*')
    			         {
    			        	m++;
    			         }
    			         else if(c1[c]=='/')
    			         {
    			          m++;
    			         }
    		      }
    		      else if((choose1==2&&choose2==1))
    		      {
    		    	  if(c1[c]=='+')
    			        {
    			        	 a.add(range);
    			        }
    			         else if(c1[c]=='-')
    			         {
    			        	 a.jian1(range);
    			         }
    			         else if(c1[c]=='*')
    			         {
    			        	 a.chen(range);
    			         }
    			         else if(c1[c]=='/')
    			         {
    			          a.chu1(range);
    			         }
    		      }
    		}
    	}
    	public void add(int range)
    	{
    		int answer=0;
    		int x=getrandom(range);
      	    int y=getrandom(range);
      	       System.out.print(x);
    	       System.out.print('+');
    	       System.out.print(y);
    	       System.out.print("=");
    	       System.out.println();
    	       System.out.println("请输入答案:");
    	       Scanner in2=new Scanner(System.in);
    		      int q=in2.nextInt();
    	       answer= x+ y;
    	       System.out.println(answer);
    	    	  if(q==answer)
    	    	  {
    	    		  System.out.println("回答正确!");
    	    	  }
    	    	  else 
    	    		  System.out.println("回答错误!");
    	}
    	public void jian1(int range)
    	{
    		int answer=0;
    		int x=getrandom(range);
      	    int y=getrandom(range);
      	  if( x> y)
      	  {
      		  System.out.print(x);
    	       System.out.print('-');
    	       System.out.print(y);
    	       System.out.print("=");
    	       System.out.println();
    	       System.out.println("请输入答案:");
    	       Scanner in2=new Scanner(System.in);
    		      int q=in2.nextInt();
    	 	  answer=x-y;
    		  if(q==answer)
    		  {
      		  System.out.println("回答正确!");
      	     }
      	     else 
      		  System.out.println("回答错误!");
      	  }
    	}
    	public void jian2(int range)
    	{
    		int answer=0;
    		int x=getrandom(range);
      	    int y=getrandom(range);
      	       System.out.print(x);
    	       System.out.print('-');
    	       System.out.print(y);
    	       System.out.print("=");
    	       System.out.println();
    	       System.out.println("请输入答案:");
    	       Scanner in2=new Scanner(System.in);
    		      int q=in2.nextInt();
    	       answer= x- y;
    	       System.out.println(answer);
    	    	  if(q==answer)
    	    	  {
    	    		  System.out.println("回答正确!");
    	    	  }
    	    	  else 
    	    		  System.out.println("回答错误!");
    	}
    	public void chu1(int range)
    	{
    		int answer=0;
    		int x=getrandom(range);
      	    int y=getrandom(range);
      	       System.out.print(x);
    	       System.out.print('/');
    	       System.out.print(y);
    	       System.out.print("=");
    	       System.out.println();
    	       System.out.println("请输入答案:");
    	       Scanner in2=new Scanner(System.in);
    		      int q=in2.nextInt();
    	       answer= x/y;
    	       System.out.println(answer);
    	    	  if(q==answer)
    	    	  {
    	    		  System.out.println("回答正确!");
    	    	  }
    	    	  else 
    	    		  System.out.println("回答错误!");
    	}
    	
    	public void chen2(int range)
    	{
    		int answer=0;
    		int x=getrandom(range);
      	    int y=getrandom(range);
      	    if(x<y)
      	    {
      	       System.out.print(x);
    	       System.out.print('*');
    	       System.out.print(y);
    	       System.out.print("=");
    	       System.out.println();
    	       System.out.println("请输入答案:");
    	       Scanner in2=new Scanner(System.in);
    		      int q=in2.nextInt();
    	       answer= x*y;
    	       System.out.println(answer);
    	    	  if(q==answer)
    	    	  {
    	    		  System.out.println("回答正确!");
    	    	  }
    	    	  else 
    	    		  System.out.println("回答错误!");
      	    }
    	}
    	public void chen(int range)
    	{
    		int answer=0;
    		int x=getrandom(range);
      	    int y=getrandom(range);
      	       System.out.print(x);
    	       System.out.print('*');
    	       System.out.print(y);
    	       System.out.print("=");
    	       System.out.println();
    	       System.out.println("请输入答案:");
    	       Scanner in2=new Scanner(System.in);
    		      int q=in2.nextInt();
    	       answer= x*y;
    	       System.out.println(answer);
    	    	  if(q==answer)
    	    	  {
    	    		  System.out.println("回答正确!");
    	    	  }
    	    	  else 
    	    		  System.out.println("回答错误!");
    	}
    	public int  getrandom(int range)
    	{
    		int x=(int) ( Math.random() * range );
    		return x;
    	}
    }
    

      程序截图:

     

  • 相关阅读:
    CSS盒模型
    js异步加载——defer和async的区别
    href和src的区别
    JS中Null与Undefined的区别
    浅谈Web Workers
    flex布局学习笔记
    Promise
    js数组类型检测
    JavaScript中的遍历
    Autocomplete
  • 原文地址:https://www.cnblogs.com/1998lu/p/6544244.html
Copyright © 2020-2023  润新知