• 软件工程个人作业01


    题目:像二柱子那样,花二十分钟写一个能自动生成三十道小学四则运算题目的 “软件”,要求:除了整数以外,还要支持真分数的四则运算(需要验证结果的正确性)、题目避免重复、可定制出题的数量。

    设计思想:

    利用生成伪随机数的方法生成随机数,并随机生成“+、-、*、/”运算符,加一些判断条件输出即可。

    源程序代码:

    import java.util.*;
    public class yunsuan {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		int a1=0;
    	    int a2=0;
    	    int result1,result2;
    	    Scanner in=new Scanner(System.in);
    	    int s;
    	    while(true)
    	    {
    	    	System.out.println("请输入要进行的运算:");
    		    System.out.println("1.整数四则运算:");
    		    System.out.println("2.真分数四则运算:");
    		    System.out.println("3.退出:");
    		    s=in.nextInt();
    	    	if(s==1)
    	    	{
    	    		 System.out.println("请输入要生成题目的个数:");
    	    		 int n=in.nextInt();
    	    		 for(int i=0;i<n;i++)
    	    		 {
    	    			a1=ranNum(a1);
    	    			System.out.print(a1);
    	    			char ch=ranChar();
    	    			System.out.print(ch);
    	    			a2=ranNum(a2);
    	    			System.out.println(a2+"=");
    	    			System.out.print("请输入答案:");
    	    			result1=in.nextInt();
    	    			if(ch=='+'&&(result1==a1+a2))
    	    			{
    	    				
    	    				System.out.println("计算正确!");
    	    			}
    	    			else if(ch=='-'&&(result1==a1-a2))
    	    			{
    	    				System.out.println("计算正确!");
    	    			}
    	    			else if(ch=='*'&&(result1==a1*a2))
    	    			{
    	    				System.out.println("计算正确!");
    	    			}
    	    			else if(ch=='/'&&(result1==a1/a2))
    	    			{
    	    				System.out.println("计算正确!");
    	    			}
    	    			else
    	    			{
    	    				System.out.println("计算错误!");
    	    			}
    	    		 }
    	    		 continue;
    	    	}
    	    	if(s==2)
    	    	{
    	    		System.out.println("请输入要生成题目的个数:");
    	    	    int m=in.nextInt();
    	    	    for(int j=0;j<m;j++)
    	    	    {
    	    	    TrueNum();
    	    	    }
    	    	    continue;
    	    	}
    	    	if(s==3)
    	    	{
    	    		break;
    	    	}
    	    	else
    	    	{
    	    		System.out.println("输入错误,请重新输入:");
    	    		 s=in.nextInt();
    	    	}
    	    }
    	    in.close();
    	}
    	public static int ranNum(int a)
    	{
    		a=(int)(Math.random()*100);
    		return a;
    	}
    	public static char ranChar()
    	{
    		char[] b={'+','-','*','/'};
    		int c=(int)(Math.random()*4);
    		return b[c];
    	}
    	public static void TrueNum()
    	{
    		int b1,b2,b3,b4;
    		b1=(int)(Math.random()*100);
    		b2=(int)(Math.random()*100);
    		b3=(int)(Math.random()*100);
    		b4=(int)(Math.random()*100);
    		yuefen(b1,b2);
    		yuefen(b3,b4);
    			if(b1<b2 && b3<b4)
    			{
    				System.out.print(b1+"/"+b2);
    				System.out.print(ranChar());
    				System.out.println(b3+"/"+b4+"=");
    			}
    			else
    			{
    				TrueNum();
    			}
    	}
    	public static void yuefen(int a1,int a2)
    	{
    		int min=Math.abs(a1)<Math.abs(a2)?Math.abs(a1):Math.abs(a2);
    		int yueshu=1;
    		for(int i=min;i>=1;i++)
    		{
    			if(a1/i==0 && a2/i==0)
    			{
    				yueshu=i;
    				break;
    			}
    		}
    		a1/=yueshu;
    		a2/=yueshu;
    	}
    }

    运行结果截图:

    上课未按时完成的原因:由于eclipse出现问题未能及时解决导致课堂实验没有按时完成。

  • 相关阅读:
    struts2 标签 前台遍历 字符串数组 String[]
    007-服务器域名&上传网站
    006-DOS命令
    005-OSI七层模型&IP地址
    004-编程语言发展史
    003-计量单位
    002-B/S架构&C/S架构
    001-计算机的组成
    1083. List Grades (25)
    1037. Magic Coupon (25)
  • 原文地址:https://www.cnblogs.com/ttzz/p/6506201.html
Copyright © 2020-2023  润新知