标签:&& int random System 192 break 计应 邢佳琪 new
四则运算
要求:
1.两数相加不能超过100
2.两数相减不能出现负数
3.两数相乘不能大于100
4.除法不能出现小数
5.题目不能重复,可定制(数量/打印方式)
思路:
用random函数可以产生随机变量,将生成的两个随机数和四个算术符号分别存放在数组中,可以判断题目是否重复;
代码:
package sizeyunsuan;
import java.util.Random;
import java.util.Scanner;
import java.util.StringJoiner;
public class Student {
public static void main(String[] args) {
// TODO 自动生成的方法存根
Scanner scanner = new Scanner(System.in);
int n,m;
System.out.println("请输入一个正整数:");
n=scanner.nextInt();
System.out.println("请输入一行几道题:");
m=scanner.nextInt();
/* 将生成的两个随机数和四个运算符存在数组中 **/
int[] a=new int[10000];
int[] b=new int[10000];
int[] d=new int[10000];
Random rand=new Random();
//使用数组
String z=null;
for(int i=0;i
int x=(int)(1+Math.random()*99);
int y=(int)(1+Math.random()*99);
int c=(int)(1+Math.random()*4);
a[i]=x;
b[i]=y;
d[i]=c;
for(int j=0;j
{
if(a[j]==x&&b[j]==y&&d[j]==c)
i--;
break;
}
switch(c)
{
case 1:z="+";break;
case 2:z="-";break;
case 3:z="*";break;
case 4:z="/";break;
}
if((x>=y&&z=="-")||(x*y<100&&z=="*")||(x/y>=1&&x%y==0&&z=="/")||(z=="+"))
{ if((i+1)%m==0)
System.out.println((i+1)+":"+x+z+y+"=");
else
System.out.print((i+1)+": "+x+z+y+"="+" ");
}else
i--;
}
}
}
心得:
我觉得这个题最难得一个地方就是怎样让出的题不重复,这个我也在网上查了很多资料,就是把产生的随机数放在数组里,这个还是比较好弄的,也有的人是用递归写的,这个也行;通过这个实验我学会了用随机函数,对数组认识更加深了。
标签:&&,int,random,System,192,break,计应,邢佳琪,new 来源: https://www.cnblogs.com/xjbb/p/14832676.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。