zoukankan      html  css  js  c++  java
  • 四则运算功能细化

    设计思想:

    当编程时感觉做法完全不像当初设计思路里设计的一样,因为设计思路里没有面对这个程序,没有面对这么具体的问题.

    不重复的实现,建三个数组,并每次生成随机数后判断a[i]、b[i]、c[i]与上边已有的a[i]、b[i]、c[i]是否相同,若相同重新生成a[i]、b[i]、c[i]。

    for(j=0;j<z;j++)

                {

                    if(q==a[j]&&w==b[j]&&e==c[j])       ////判断是否相同

                        {a[i]=random.nextInt(100);      ////重新产生a[i]

                        b[i]=random.nextInt(100);       ////重新产生b[i]

                        c[i]=random.nextInt()%4+1;} ////重新产生c[i]

                }

    可定制的实现,输入一个n,比如n=4,当(i+1)%4==0时,输出一个换行,这样就实现了每行有4个算式。

    是否有乘除法的实现,若有乘除法,c取1234,若无乘除c取12.

    c取1234时:

    if      (c[i]==1) s='+';

            else if (c[i]==2) s='-';

            else if (c[i]==3) s='*';

            else s='/';

    c取12时:

    if      (c[i]==1) s='+';

            else s='-';

     

    实现代码:

    package 四则运算;

    import java.util.Random;

    import java.util.Scanner;

    public class aa {

             public static void main(String[] args) {

                       // TODO Auto-generated method stub

                       int i,n,j,m,aa,r = 0;

                       Scanner scanner = new Scanner(System.in);

                       System.out.print("要输出多少道四则运算题,然后敲回车");

                       aa= scanner.nextInt();

                       i=aa;

                       System.out.print("请输入n(每行显示n个式子),然后敲回车");

                       n= scanner.nextInt();

                       System.out.print("是否有乘除法(有 1    无 0),然后敲回车");

                       m= scanner.nextInt();

                       if(m==1)

                                {

                                System.out.print("除法有无余数(有 1    无 0),然后敲回车");

                                r= scanner.nextInt();

                                }

                       scanner.close();

                       int a[],b[],c[];

                       a=new int[i];b=new int[i];c=new int[i];

                       for(i=0;i<aa;i++)

                       {

                       int z,q,w,e;z=i;

                       char s;

                       Random random = new Random();

                       a[i]=random.nextInt(100);

                       b[i]=random.nextInt(100);

                       if(m==1)

                       {

                                if(r==1)//有余数

                                {

                                         c[i]=random.nextInt()%4+1;

                                         q=a[i];w=b[i];e=c[i];

                                         for(j=0;j<z;j++)

                                         {

                                                   if(q==a[j]&&w==b[j]&&e==c[j])

                                                            {a[i]=random.nextInt(100);

                                                            b[i]=random.nextInt(100);

                                                            c[i]=random.nextInt()%4+1;}

                                         }

                                         if               (c[i]==1) s='+';

                                         else if (c[i]==2) s='-';

                                         else if (c[i]==3) s='*';

                                         else s='/';

                                }

                                else //无余数

                                {

                                a[i]=random.nextInt(100);

                                b[i]=random.nextInt(100);

                                c[i]=random.nextInt()%4+1;

                                q=a[i];w=b[i];e=c[i];

                                for(j=0;j<z;j++)

                                         {

                                                   if(q==a[j]&&w==b[j]&&e==c[j])

                                                            {a[i]=random.nextInt(100);

                                                            b[i]=random.nextInt(100);

                                                            c[i]=random.nextInt()%4+1;}

                                         }

                                if               (c[i]==1) s='+';

                                else if (c[i]==2) s='-';

                                else if (c[i]==3) s='*';

                                else {s='/';a[i]=a[i]/b[i]*b[i];}

                                }

                       }

                       else

                       {

                       c[i]=random.nextInt()%2+1;

                       q=a[i];w=b[i];e=c[i];

                       for(j=0;j<z;j++)

                                {

                                         if(q==a[j]&&w==b[j]&&e==c[j])

                                                   {a[i]=random.nextInt(100);

                                                   b[i]=random.nextInt(100);

                                                   c[i]=random.nextInt()%2+1;}

                                }

                       if               (c[i]==1) s='+';

                       else s='-';

                       }

                      

                       System.out.print(a[i]);

                       System.out.print(s);

                       System.out.print(b[i]);

                       System.out.print("=     ");

                       if((i+1)%n==0)

                       System.out.println("");

                       }

             }

    }

    结果截图:

    心得总结:java技术需要提高,简单的东西也会出错,而且吧,鼓捣半天都改不对,很是气愤

    时间记录日志

    学生:

    周盼超

     

    日期:

    3/19/2015

     

    教师:

    王建民

     

    课程:

    PSP

     

             

     

    日期

    开始时间

    结束时间

    净时

    活动

    备注

    3月13日

    10点10分

    12点

    100分钟

    讲师授课

     

    3月15日

    9点

    9点20分

    20分钟

    编写程序

     

    3月17日

    12点

    13点30分

    90分钟

    编写程序

     

    3月18日

    21点30分

    22点

    30分钟

    制作时间记录日志模板

     

  • 相关阅读:
    函数Sort()
    数据窗口中数值型对象的显示格式
    函数IsValid()
    20130109显示器无反应
    DropDownPictureListBox设置默认项
    大数据
    字符串函数Mid()
    Jquery获取当前元素所在表格的行列数
    关于模式窗口中treeView问题
    格式化字符串长度 超出指定长度用....代替
  • 原文地址:https://www.cnblogs.com/feifeishi/p/4350861.html
Copyright © 2011-2022 走看看