软件工程个人作业01之四则运算30题

题目:自动生成30道小学四则运算题,除了整数以外,还要支持真分数的四则运算,可定制出题的数量,题目避免重复。

1.程序设计思想:设计一个class类,包含生成真分数的函数,再在主函数中带调用此函数,并且在主函数中实现加减乘除四种功能,且每种功能除了整数的情况外,还有真分数的情况。

2.源程序代码:

package 四则运算;
import java.util.Scanner;
public class Test 
{    
    public static void main(String[] args) 
    {
        LIANX lianx=new LIANX();
        Scanner scanner=new Scanner(System.in);
        System.out.print("请输入想要定制的题的数量:");
        int k=scanner.nextInt();
        for(int i=0;i<k;i++)
        {
            int suiji1=1+(int)(Math.random()*100);  
            int suiji2=1+(int)(Math.random()*100);  
            int suanfu=1+(int)(Math.random()*4);
            if(suanfu==1)//加法                
            {
                int fangshi=(int)(Math.random()*4);
                String a=lianx.fenshu();
                String b=lianx.fenshu();
                if (fangshi==1)   {   System.out.println(suiji1+"+"+suiji2+"=");  }//整数相加
                else if (fangshi==2)   {   System.out.println(a+"+"+b+"=");}//真分数相加
                else if (fangshi==3)   {   System.out.println(a+"+"+suiji2+"="); }//整数与真分数相加
            }
            
            if(suanfu==2)//减法
            {    
                int fangshi1=1+(int)(Math.random()*3);
                String a=lianx.fenshu();
                String b=lianx.fenshu();
                if (fangshi1==1)  { System.out.println(suiji1+"-"+suiji2+"=");}//整数相减
                else if (fangshi1==2)  { System.out.println(a+"-"+b+"=");}//真分数相减
                else if (fangshi1==3)  { System.out.println(a+"-"+suiji1+"="); }//整数减真分数            
            }
            
            if(suanfu==3)//乘法
            {
                int fangshi2=1+(int)(Math.random()*3);
                String a=lianx.fenshu();
                String b=lianx.fenshu();
                if (fangshi2==1) { System.out.println(suiji1+"*"+suiji2+"=");}
                else if (fangshi2==2) { System.out.println(a+"*"+b+"=");          }
                else if (fangshi2==3) { System.out.println(suiji1+"*"+b+"=");          }
            }
                    
            if(suanfu==4)//除法
            {   
              int fangshi3=1+(int)(Math.random()*2); 
              String a=lianx.fenshu();
              String b=lianx.fenshu();
              if (fangshi3==1) 
              { 
                  if(suiji1<=suiji2)    {  System.out.println(suiji1+"/"+suiji2+"="); }
                  if(suiji1>suiji2)    {  System.out.println(suiji2+"/"+suiji1+"="); }
              }
              else if (fangshi3==2) {  System.out.println(a+"/"+b+"=");           }      
            }
            
        }
    }

}
class  LIANX//生成真分数函数
{ 
   public  String fenshu()//真分数
   {
    int i=1+(int)(Math.random()*10);
    int j=1+(int)(Math.random()*10);
    if(i>=j)
    {
        int temp=i;
        i=j;
        j=temp;
    }
    return("("+i+"/"+j+")");
    }    
}

3.运行结果截图:

4.上课未完成原因:首先我上课时只完成了整数的加减乘除运算,未包含真分数情况,没有按时完成是因为没有及时的实现(1)需要验证结果的正确性(2)题目避免重复这两个要求

posted @ 2017-03-06 19:26  BAILANGL  阅读(163)  评论(0编辑  收藏  举报