【四则运算1】
像二柱子那样,花二十分钟写一个能自动生成三十道小学四则运算题目的 “软件”,
要求:除了整数以外,还要支持真分数的四则运算(需要验证结果的正确性)、题目避免重复、可定制出题的数量。(有能力者改编成网页版)
和同学们比较一下各自程序的功能、实现方法的异同等等。
备注:相比题目要求,目前只实现了整数的四则运算,可实现验证结果的正确性,可定制题的数量。
【程序设计思想】因为没有实现真分数以及可以题目避免重复要求,所以随机出不同数量的四则运算题目就相对简单了,对于结果判断,是用if语句实现的。总体来说比较简单。
【源程序代码】
1 //信1605-2班 那颖 20163448 2 import java.util.Scanner; 3 public class SiZeYunSuan 4 { 5 public static void main(String[] args) 6 { 7 // TODO Auto-generated method stub 8 Random1(); 9 10 } 11 12 public static void Random1() 13 { 14 long timeStart = System.currentTimeMillis(); 15 double result; 16 int tCount=0,fCount=0; 17 int x,y; 18 char c; 19 int num; 20 Scanner input=new Scanner(System.in); 21 System.out.println("请输入要计算的题目数量:"); 22 num=input.nextInt(); 23 String s="+-*/"; 24 for(int i=0;i<num;i++) 25 { 26 x=(int) (Math.random()*100); 27 c=s.charAt((int) (Math.random()*4)); 28 y=(int) (Math.random()*100); 29 if(c=='+') 30 { 31 result=x+y; 32 } 33 else if(c=='-') 34 { 35 result=x-y; 36 } 37 else if(c=='*') 38 { 39 result=x*y; 40 } 41 else 42 { 43 result=(double)x/y; 44 } 45 System.out.println(x+""+c+""+y+"="); 46 int r=input.nextInt(); 47 if(result==r) 48 tCount++; 49 else 50 fCount++; 51 } 52 System.out.println(num+"道题已做完,您做对的题目有:"+tCount+"道,做错的题目有:"+fCount+"道"); 53 long timeEnd=System.currentTimeMillis(); 54 System.out.println("总共花费:"+(timeEnd-timeStart)+"ms"); 55 } 56 57 }
【运行结果截图】