• 软件工程个人作业01


        作业要求:

    〇 花二十分钟写一个能自动生成三十道小学四则运算题目的 “软件”,除了整数以外,还要支持真分数的四则运算。

    〇 和同学们比较一下各自程序的功能、实现方法的异同等等。
     
    设计思想:首先自动生成必须要有随机数,然后运算符的随机可以使用0~3代替,依次代表加减乘除,支持真分数可以用一个if语句,让用户自动选择题目是整数还是真分数,其中三十道题目让我改成了可以自主选择题目数量,这样可以自主选择分数题和整数题的数量,便于使用。
     
    源代码:
    import java.util.*;//引用util包
    
    public class Yunsuan {
    
        public static void main(String[] args)  {
            // TODO Auto-generated method stub
            Random ran = new Random();//初始化随机数
            int num1;
            int num2;
            int num3;
            int num4;
            int chars;
            int num0;
            while(true)
            {
                System.out.println("输入题目的数量:");
                Scanner sca = new Scanner(System.in);
                num0 = sca.nextInt();//输入题数
                System.out.println("真分数运算(1),整数运算(0):");
                int  judge = sca.nextInt();
                if(judge == 0)
                    for(int i=0; i<num0; i++)
                    {
                        int k = i+1;
                        num1 = ran.nextInt(100);
                        num2 = ran.nextInt(100);
                        chars = ran.nextInt(4);
                        if(chars == 0)
                            System.out.println("["+k+"]"+num1+"+"+num2+"=");
                        if(chars == 1)
                            System.out.println("["+k+"]"+num1+"-"+num2+"=");
                        if(chars == 2)
                            System.out.println("["+k+"]"+num1+"*"+num2+"=");
                        if(chars == 3)
                            if(num2 == 0)
                                i=i-1;
                            else
                                System.out.println("["+k+"]"+num1+"/"+num2+"=");
                        
                    }
                else if(judge == 1)
                    for(int i=0; i<num0; i++)
                    {
                        int k = i+1;
                        int t;
                        num1 = ran.nextInt(100);
                        num2 = ran.nextInt(100);
                        num3 = ran.nextInt(100);
                        num4 = ran.nextInt(100);
                        chars = ran.nextInt(4);
                        if(num1>num2)
                        {
                            t = num2;
                            num2 = num1;
                            num1 = t;
                        }
                        if(num1 == num2)
                            num2 = num2+1;
                        if(num3>num4)
                        {
                            t = num4;
                            num4 = num3;
                            num3 = t;
                        }
                        if(num3 == num4)
                            num4 = num4+1;
                        if(chars == 0)
                            System.out.println("["+k+"]"+num1+"/"+num2+"+"+num3+"/"+num4+"=");
                        if(chars == 1)
                            System.out.println("["+k+"]"+num1+"/"+num2+"-"+num3+"/"+num4+"=");
                        if(chars == 2)
                            System.out.println("["+k+"]("+num1+"/"+num2+")*("+num3+"/"+num4+")=");
                        if(chars == 3)
                            System.out.println("["+k+"]("+num1+"/"+num2+")/("+num3+"/"+num4+")=");
                        
                    }
                else
                    System.out.println("输入有误,请重新");
            }
        }
    
    }
    四则运算

    结果截图:

  • 相关阅读:
    将博客搬至CSDN
    第一章 spring起步
    动态规划-最长非降子序列
    硬币问题-动态规划详解
    哲学家就餐
    java并发编程(十九)障碍器CyclicBarrier
    java并发编程(十八)阻塞队列和阻塞栈
    java并发编程(十七)Executor框架和线程池
    java并发编程(十七)内存操作总结
    java并发编程(十六)happen-before规则
  • 原文地址:https://www.cnblogs.com/xiaosongbiog/p/5254241.html
Copyright © 2020-2023  润新知