分数四则运算java_(java) 四则运算(包含分数)

思路: (一)输入:确定符号和数字

(二)结果:算式样本:    “数字”+“符号”+“数字”+“=”

(三)过程:①利用随机数确定符号:0=>“+”,1=>“-”,2=>“*”,3=>“/” 。其中除法"/"有特殊情况,除数不能为0

②第一个数字和第二个数字,要分别判定是 分数或整数,其中分数的分母不能为0。

③在判定分数或整数的过程中,两次循环,分别对第一个数字和第二数字进行细致上的操作,最终改为字符串的形式。

第一次循环(即第一个数字):

若数字为分数,则随机两个数字,分别为分子(nup1)和分母(ndown1),然后以(分子/分母)的格式转入字符串s1。

若数字为整数,则随机一个数字(nup1),然后转入字符串s1。

第二次循环(即第一个数字):

若数字为分数,则随机两个数字,分别为分子(nup2)和分母(ndown2),然后以(分子/分母)的格式转入字符串s2。

若数字为整数,则随机一个数字(nup2),然后转入字符串s2。

代码:

public classSizeyunsuan {public static voidmain(String[] args)

{for(int i=0;i<30;i++)//循环30次,30道题

{intmid,nup1,ndown1,nup2,ndown2;

String s1=newString();

String s2=newString();

String suanshi=newString();

String fuhao=new String();//符号判定

mid=(int)(Math.random()*4);if(mid==0) fuhao="+";if(mid==1) fuhao="-";if(mid==2) fuhao="*";if(mid==3) fuhao="/";for(int j=0;j<2;j++)//两次循环,第一次为第一个数字,第二次为第二个数字

{int n1 =-1,n2=-1;//用于后面是否为分数的判定

int s=(int)(Math.random()*2);//随机数判定整数或分数,0->整数,1->分数

if(s==0)//整数

{

n1=(int)(Math.random()*100);

}if(s==1)//分数

{

n1=(int)(Math.random()*100);//分子

n2=(int)(1+Math.random()*99);//分母不能为0

}if(j==0)//第一个数字

{

nup1=n1;ndown1=n2;if(ndown1>=0)//如果存在分母,则为分数

{s1="("+nup1+"/"+ndown1+")"+"";}else//否则为整数

{s1=nup1+"";}

}if(j==1)//第二个数字

{

nup2=n1;ndown2=n2;if(mid==3)//当为除法时,除数不能为0,

{

nup2=(int)(1+Math.random()*99);//分子或整数不能为0

}if(ndown2>=0)//如果存在分母,则为分数

{s2="("+nup2+"/"+ndown2+")"+"";}else//否则为整数

{s2=nup2+"";}

}

}

suanshi=suanshi+s1+fuhao+s2+"=";//算式

System.out.println(suanshi);

}

}

}

原文:http://www.cnblogs.com/maplely/p/5250769.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值