软件工程概论02~ 四则运算

package demo;
import java.util.*;
//正数的随机取值
class number1{
    private int i;
    private int j;
    public void seti()
    {
        i = 1 + (int)(Math.random() * 100);
    }
    public int geti()
    {
        return i;
    }
    public void setj()
    {
        j = 1 + (int)(Math.random() * 99);
    }
    public int getj()
    {
        return j;
    }
    
}
//负数的随机取值
class Number{
    private int i;
    private int j;
    public void seti()
    {
        i = (-1) + (int)(Math.random() * (-100));
    }
    public int geti()
    {
        return i;
    }
    public void setj()
    {
        j = (-1) + (int)(Math.random() * (-99));
    }
    public int getj()
    {
        return j;
    }
    
}
//运算符号的随机取值
class symbol{
    private int a;
    public void seta()
    {
        a = 1 + (int)(Math.random() * 4);
    }
    public int geta()
    {
        return a;
    }
}
//分数的随机取值
class number2{
    private int i;
    private int j;
    private int x;
    private int y;
    public void setnumber()
    {
        i = 1 + (int)(Math.random() * 100);
        j = 1 + (int)(Math.random() * 99);
        x = 1 + (int)(Math.random() * 100);
        y = 1 + (int)(Math.random() * 99);
    }
    public int getnumberi()
    {
        return i;
    }
    public int getnumberj()
    {
        return j;
    }
    public int getnumberx()
    {
        return x;
    }
    public int getnumbery()
    {
        return y;
    }
    
    
}
public class calculate {
    public static void main(String args[])
    {
        menu();
        System.out.println("请输入想要运行的计算");
        Scanner scan = new Scanner(System.in);
        int p;
        p = scan.nextInt();
        if(p == 1)
        {
            for(int i = 0 ; i <= 29 ; i ++){
                number1 n1 = new number1();
                int a1 , a2;
                n1.seti();
                a1 = n1.geti();
                n1.setj();
                a2 = n1.getj();
                symbol s = new symbol();
                int b;
                s.seta();
                b = s.geta();
                if(b == 1)
                    System.out.println(a1 + "+" + a2 + "=" + ( a1 + a2 ) );
                if(b == 2)
                    System.out.println(a1 + "-" + a2 + "=" + (a1 - a2));
                if(b == 3)
                    System.out.println(a1 + "*" + a2 + "=" + (a1 * a2));
                if(b == 4){
                    int c = a1 % a2;
                    int c1 = (a1 - c) / a2;
                    System.out.println(a1 + "/" + a2 + "=" + c1 + "" + c);
                }
                    
            }
        }
        if(p == 2){
            for(int i = 0 ; i <= 29 ; i ++){
                Number n1 = new Number();
                int a1 , a2;
                n1.seti();
                a1 = n1.geti();
                n1.setj();
                a2 = n1.getj();
                symbol s = new symbol();
                int b;
                s.seta();
                b = s.geta();
                if(b == 1)
                    System.out.println(a1 + "+" + "(" +a2 + ")" + "=" + ( a1 + a2 ) );
                if(b == 2)
                    System.out.println(a1 + "-" + "(" +a2 + ")" + "=" + (a1 - a2));
                if(b == 3)
                    System.out.println(a1 + "*" + "(" +a2 + ")" + "=" + (a1 * a2));
                if(b == 4){
                    int c = ((-1) * a1) % ((-1) * a2);
                    int c1 = ((-1) * a1 - c) / ((-1) * a2);
                    System.out.println(a1 + "/" + "(" +a2 + ")" + "=" + c1 + "" + c);
                }
                    
            
            }
        }
        if(p == 3)
        {
            for(int i = 0 ; i <= 29 ; i++)
            {
                number2 n2 = new number2();
                int b1 , b2 , b3 , b4;
                n2.setnumber();
                b1 = n2.getnumberi();
                b2 = n2.getnumberj();
                b3 = n2.getnumberx();
                b4 = n2.getnumbery();
                symbol s1 = new symbol();
                int c;
                s1.seta();
                c = s1.geta();
                if(c == 1)
                    System.out.println(simplify(b2 , b1) + "+" + simplify(b4 , b3) + "=" + simplify(b2 * b3 + b4 * b1 , b1 * b3));
                if(c == 2)
                    System.out.println(simplify(b2 , b1) + "-" + simplify(b4 , b3) + "=" + simplify(b2 * b3 - b4 * b1 , b1 * b3));
                if(c == 3)
                    System.out.println(simplify(b2 , b1) + "*" + simplify(b4 , b3) + "=" + simplify(b2 * b4 , b1 * b3));
                if(c == 4)
                    System.out.println(simplify(b2 , b1) + "/" + simplify(b4 , b3) + "=" + simplify(b2 * b3 , b1 * b4));
            }
        }
        if(p == 4)
        {
            int i = 0;
            while(i < 30){
                number1 n = new number1();
                int a1 , a2;
                n.seti();
                a1 = n.geti();
                n.setj();
                a2 = n.getj();
                if(a1 % a2 == 0)
                {
                    i++;
                    System.out.println(a1 + "/" + a2 + "=" + (a1 / a2));
                }
            }
        }
        if(p == 5)
        {
            int i = 0;
            while(i < 30){
                number1 n = new number1();
                int a1 , a2;
                n.seti();
                a1 = n.geti();
                n.setj();
                a2 = n.getj();
                if(a1 % a2 != 0)
                {
                    i++;
                    int c = a1 % a2;
                    int c1 = (a1 - c) / a2;
                    System.out.println(a1 + "/" + a2 + "=" + c1 + "" + c);
                }
            }
        }
        if(p == 6)
        {
            System.out.println("请输入范围的左边界:");
            Scanner scan1 = new Scanner(System.in);
            int a3;
            a3 = scan1.nextInt();
            System.out.println("请输入范围的右边界:");
            Scanner scan2 = new Scanner(System.in);
            int a4;
            a4 = scan1.nextInt();
            int i = 0;
            while(i < 30){
                number1 n1 = new number1();
                int a1 , a2;
                n1.seti();
                a1 = n1.geti();
                n1.setj();
                a2 = n1.getj();
                symbol s = new symbol();
                int b;
                s.seta();
                b = s.geta();
                if(a1 >= a3 && a1 <= a4 && a2 >= a3 && a2 <= a4)
                {
                    i++;
                    if(b == 1)
                        System.out.println(a1 + "+" + a2 + "=" + ( a1 + a2 ) );
                    if(b == 2)
                        System.out.println(a1 + "-" + a2 + "=" + (a1 - a2));
                    if(b == 3)
                        System.out.println(a1 + "*" + a2 + "=" + (a1 * a2));
                    if(b == 4){
                        int c = a1 % a2;
                        int c1 = (a1 - c) / a2;
                        System.out.println(a1 + "/" + a2 + "=" + c1 + "" + c);
                    }
                }    
            }
        }
        if(p == 7)
        {
            
        }
        
        
    }
    public static String simplify(int a,int b)   //获得最简分数
    {
        int max = 0;
        for(int i = 0 ;i < 100 ;i ++)
        {
            int n = i + 1 ;
            if(a % n == 0 && b % n == 0)
                max = n;
            
        }
        return (String)( a / max + "/" + b / max);
    }
    public static void menu()
    {
        System.out.println("1. 正数的四则运算");
        System.out.println("2. 负数的四则运算");
        System.out.println("3. 分数的四则运算");
        System.out.println("4. 整除运算");
        System.out.println("5. 非整除运算");
        System.out.println("6. 规定数值范围的运算");
    }

}

程序截图:

一周项目总结

    时间记录日志

缺陷日志

 总结:   刚开始觉得写好代码就可以了,这些总结和分析没什么用,但是随着老师的讲解~  代码写半天,总结一天半~ 我渐渐认识到这些的重要性,写好任务分析,这要程序写一半也可以交手给别人,对事后的维护也很重要,这是对别人的负责,也是一个程序员该有的责任。  表格什么的刚开始觉得是很麻烦呢,但是养成习惯之后就好, 慢慢的就能估计任务所需时间,提高自己的速度,毕竟效率为王。这周组队了,以后的任务我们就是一个TAEM,我会做好自己该做的任务,培养团队精神。

原文地址:https://www.cnblogs.com/dk1203573488/p/6527624.html