第十周(11.18-11.24)----结对项目----出带分数的题目
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第十周(11.18-11.24)----结对项目----出带分数的题目相关的知识,希望对你有一定的参考价值。
将题目分成两个部分一个是操作符,一个是操作数。每个题目的组成是这样的:数 符 数 符 数。这里的每个操作数可能是整数,可能是分数,而分数中的分子或分母可能带有乘法计算。所以为了体现后来的分数计算,我将这里的操作符限制在{+,-}。
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)----结对项目----出带分数的题目的主要内容,如果未能解决你的问题,请参考以下文章
第十周(11.18-11.24)----结对编程----感悟