软件工程个人作业01

Posted on 2016-03-10 13:48  Young丶  阅读(172)  评论(1编辑  收藏  举报

1.程序设计思想

(1)使用Java语言进行编程;

(2)按照题目要求,将运算分为两类整数与真分数;

(3)整数部分:两个数分别随机获得,符号的确定先获得随机数,再除以4取余,0为+,1为-,2为*,3为/,在符号确定为除法时,第二个数要判断是否为0,为0重新获取。

(4)分数部分,两个分数的分子分母都分别随机获得,符号的确定与整数部分相同,但是分数的分母不能为0,还有除法时,第二个分数不能为0。

(5)用for循环按三行十列输出。

2.程序代码

//20160307|20160308完善
//信1405-1班20142973魏垚
//四则运算初步实现

import java.util.Scanner;
//import javax.swing.JOptionPane;

public class Four_Operation {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        
        Scanner in=new Scanner(System.in);
        
        System.out.print("请选择:\n1.100以内的整数运算;\n"+"2.分母100以内的运算;\n");
        int y=in.nextInt();
        
        if(y==1)
            for(int i=0;i<3;i++)
            {
                for(int j=0;j<10;j++)
                    {
                        operationInt();
                        System.out.print("\t");
                    }
                System.out.print("\n");
            }
            
        if(y==2)
            for(int i=0;i<3;i++)
            {
                for(int j=0;j<10;j++)
                    {
                        operationFenshu();
                        System.out.print("    ");
                    }
                System.out.print("\n");
            }
        
        //
        in.close();
    }
    
    //整数
    public static void operationInt()
    {
        int a,b,c;
        String x=null;

        //第一个数
        a=(int)(Math.random()*100);
        
        //符号
        b=(int)(Math.random()*100);
        b=b%4;
        if(b==0)x="+";
        if(b==1)x="-";
        if(b==2)x="*";
        if(b==3)x="/";             
        
        //符号后的数
        c=0;
        
        if(b==0||b==1||b==2)
            c=(int)(Math.random()*100);
        if(b==3)
        {
            while(c==0)
            {
                c=(int)(Math.random()*100);
            }
        }
        
        //输出
        System.out.print(a);
        System.out.print(x);
        System.out.print(c);
        System.out.print("=");      
        }
    
    //分数
    static void operationFenshu()
    {
        int a1,a2,b,c1,c2;
        String x=null;

        //第一个数
        a1=0;a2=0;
        while(a1>=a2)
        {
            a1=(int)(Math.random()*100);
            a2=(int)(Math.random()*100);
        }
        
        //符号
        b=(int)(Math.random()*100);
        b=b%4;
        if(b==0)x="+";
        if(b==1)x="-";
        if(b==2)x="*";
        if(b==3)x="/";             
        
        //符号后的数
        c1=0;c2=0;
        
        if(b==0||b==1||b==2)
            while(c1>=c2||c2==0)
                {
                    c1=(int)(Math.random()*100);
                    c2=(int)(Math.random()*100);
                }
        if(b==3)
        {
            while(c1==0||c2==0)
            {
                c1=(int)(Math.random()*100);
                c2=(int)(Math.random()*100);
            }
        }
        
        //输出
        if(a1==0)
            System.out.print(0);
        else
        {
            System.out.print("("+a1+"/"+a2+")");
        }
        System.out.print(x);
        if(c1==0)
            System.out.print(0);
        else
        {
            System.out.print("("+c1+"/"+c2+")");
        }
        System.out.print("=");
        
        }
}
3.运行截图