标签:pre else img ima efault print eth stat 分数
将题目分成两个部分一个是操作符,一个是操作数。每个题目的组成是这样的:数 符 数 符 数。这里的每个操作数可能是整数,可能是分数,而分数中的分子或分母可能带有乘法计算。所以为了体现后来的分数计算,我将这里的操作符限制在{+,-}。
fuhao类
public String rfuhao() | 返回一个操作符 |
public String num() | 返回一个数或者一个乘法算式 |
public String xiang() | 返回一个数或者一个分数 |
rfuhao():利用随机数选择String的下标,实现随机返回"+"或者"-"
1 public String rfuhao(){ 2 String[] fuhao = {"+","-"}; 3 return fuhao[(int)(Math.random()*2)]; 4 }
num():通过随机数将出乘法算式的几率降低
public String num(){ String danxiang = ""; String num1 = (int)(1+Math.random()*9)+""; String num2 = (int)(1+Math.random()*9)+""; int i = (int)(Math.random()*10);//要么出数要么出算式 if(i==0){ return danxiang = num1+"*"+num2; }else return num1; }
xiang():"/"前面或者后面可能是数,也可能是乘法算式
1 public String xiang(){ 2 int i = (int)(Math.random()*2); 3 fuhao fu = new fuhao(); 4 switch(i){ 5 case 0: 6 return fu.num(); 7 case 1: 8 return fu.num()+"/"+fu.num(); 9 default : 10 return null; 11 } 12 }
main:
1 public static void main(String[] args) { 2 // TODO Auto-generated method stub 3 fuhao rf = new fuhao(); 4 int i=50; 5 while(i!=0){ 6 System.out.print("("+(51-i)+")"); 7 System.out.println(rf.xiang()+rf.rfuhao()+rf.xiang()+rf.rfuhao()+rf.xiang()); 8 9 i--; 10 } 11 }
结果:
第十周(11.18-11.24)----结对项目----出带分数的题目
标签:pre else img ima efault print eth stat 分数
原文地址:http://www.cnblogs.com/YangXiaomoo/p/6082332.html