首页 > 技术文章 > 写输出30道小学生四则运算程序的解题思路及未在规定时间内完成程序的原因

fengyutongxing 2015-03-06 19:26 原文

拿到题目想到用for循环输出30道题目,每道题的数字与字符由随机函数产生。

程序源码:

package test;

import java.util.Random;

public class test {

    public static void main(String[] args) {
        // TODO Auto-generated method stub

        int a=0,b=0;
        char f;
        System.out.println("30道四则运算题:");
        for(int i=0;i<30;i++)   //每循环一次列出一道题道题
        {
            Random rand =new Random();  //随机函数
            a=rand.nextInt(100);    //随机产生每道题的第一个数字
            System.out.print(a+"  ");
            do     
            {
                f=(char) ('*'+Math.random()*('/'-'*'+1)); 
                if(f!=',')
                {
                    if(f!='.')
                    {
                       System.out.print(f+"  ");
                       break;
                    }
                }
            }while((f==',')||(f=='.'));    //随机产生+、-、*、/运算符号
            if(f=='/')
            {
               do
               {
                   b=rand.nextInt(100);
                   if(b!=0)
                   {
                      System.out.print(b+"  ");
                      break;
                   }
               } while(b==0);
            }
            else
            {
                b=rand.nextInt(100);
                System.out.print(b+"  ");
            }     //产生并输出第二个数字
            System.out.print("=");
            System.out.println();
        }
    }
}

没在规定时间完成的原因:

忘记了java里的随机生成函数怎么表示了。

推荐阅读