首页 > 其他分享 >参考题目2——四则运算(一)

参考题目2——四则运算(一)

时间:2022-12-22 14:34:29浏览次数:40  
标签:题目 参考 int 四则运算 System println fh cc out

(1)题目要求
1.题目避免重复;
2.可定制(数量/打印方式);
3. 输入大的数量值,测试一下系统是否崩溃,反向查找系统是否优化的余地;
4.定制操作数的个数;
5.定制是否有乘除法;
6.定制是否有括号(随机加入);
7.定制数值范围(确定操作数的取值范围);

代码:

package sizeyunsuan;

import java.util.*;

public class sizeyunsuan {


public static int[] randomCommon(int n,int min, int max) //生成随机数
{
int[] result = new int[n];
int count = 0;
while(count < n) {
int num = (int) (Math.random() * (max - min)) + min;
boolean flag = true;
for (int j = 0; j < n; j++) {
if(num == result[j]){
flag = false;
break;
}
}
if(flag){
result[count] = num;
count++;
}
}
return result;
}

public static char fh(int panduan) //生成随机运算符
{

Random r = new Random();
int yunsuanfu= r.nextInt(100);
char fh=' ';
if(panduan==1) //有乘除
{
switch(yunsuanfu%4)
{
case 0:fh='+';break;
case 1:fh='-';break;
case 2:fh='*';break;
case 3:fh='/';break;
}
}
else if(panduan==2) //无乘除
{
switch(yunsuanfu%2)
{
case 0:fh='+';break;
case 1:fh='-';break;
}
}
return fh;
}

public static void main(String[] args) {

System.out.println("请输入题目个数:");
Scanner input = new Scanner(System.in);
int num=input.nextInt();

System.out.println("请输入操作个数(1.两个 2.三个)");
int czs=input.nextInt();

System.out.println("请输入数值范围:");
int a=input.nextInt();
int b=input.nextInt();
if((b-a)<num*(czs+1)) //系统崩溃条件
{
System.out.println("系统崩溃!");
System.exit(0);
}

System.out.println("是否需要乘除运算(1.是 2.否)");
int cc=input.nextInt();

Random r = new Random();
int x,y,z;

if(czs==1) //操作数为2时
{
int []arr1 =randomCommon(num*2,a,b);


for(int i=0;i<num*2;i++)
{
x=arr1[i];
y=arr1[i+1];
i++;
System.out.println(""+x+fh(cc)+y+"=");
}

}
else if(czs==2) //操作数为3时
{
System.out.println("是否需要括号运算(1.是 2.否)");
int kh=input.nextInt();
int []arr2 =randomCommon(num*3,a,b);

for(int i=0;i<num*3;i++)
{
x=arr2[i];
y=arr2[i+1];
z=arr2[i+2];
i+=2;

if(kh==1) //随机加括号
{
int kuohao= r.nextInt(99);
switch(kuohao%2)
{
case 0:System.out.println("("+x+fh(cc)+y+")"+fh(cc)+z+"=");break;
case 1:System.out.println(""+x+fh(cc)+"("+y+fh(cc)+z+")=");break;
case 2:System.out.println(""+x+fh(cc)+y+fh(cc)+z+"=");break;
}
}
else if(kh==2) //无括号
{
System.out.println(""+x+fh(cc)+y+fh(cc)+z+"=");
}

}
}
}
}

 

标签:题目,参考,int,四则运算,System,println,fh,cc,out
From: https://www.cnblogs.com/XiMenXve/p/16998606.html

相关文章

  • 参考题目3——四则运算(二)
    (1)题目要求1.定义方法验证题目是否重复;并将出题参数用子方法定义。2.定义随机数生成器子方法,根据出题参数(出题个数、操作数的个数、确定操作数的取值范围)生成全部的随机操作......
  • ng命令汇总:Angular CLI 使用教程指南参考
    AngularCLI使用教程指南参考AngularCLI现在虽然可以正常使用但仍然处于测试阶段.AngularCLI依赖Node4和NPM3或更高版本.安装要安装AngularCLI你需要先安装nod......
  • 参考WebStorm设置VSCode“转到编辑器中的符号”快捷键为Shift双击(这是一个频繁使用的
    搜索workbench.action.gotoSymbol修改key为“shiftshift”这样就比默认的ctrl+shift+O好用了,也不容易误操作成别的快捷键! ......
  • C 加分题目
    C加分题目用C实现一个函数intgcd(inta,intb)求解两个整数的最大公约数,算法步骤是,用a,b中的大值减去小值得到临时值c,然后再用c和a,b中的最小值进行计算,直到c和a,b......
  • C 加分题目
    任务详情用C实现一个函数intgcd(inta,intb)求解两个整数的最大公约数,算法步骤是,用a,b中的大值减去小值得到临时值c,然后再用c和a,b中的最小值进行计算,直到c和a,b中......
  • C 加分题目
    用C实现一个函数intgcd(inta,intb)求解两个整数的最大公约数,算法步骤是,用a,b中的大值减去小值得到临时值c,然后再用c和a,b中的最小值进行计算,直到c和a,b中的最小值相......
  • 好题&&未解决题目
    1.蓝桥杯2021A组I题括号序列题目链接合法括号对当前仅当左括号数>=右括号数时成立设\(dp[i][j]\)为前\(i\)个括号中左括号比右括号多\(j\)个的方案数(只添加左括号)......
  • StringBuilder和StringBuffer的区别以及衍生题目
    StringBuilder和StringBuffer的区别为什么StringBuffer是线程安全的?StringBuffer在单机环境下线程安全吗?为什么?StringBuffer在多机环境下线程安全吗?为什么?StringBuffer......
  • LeetCode 有关二叉树的算法题目(C++)
    0、NULL与nullptr的区别在C语言中,​​NULL​​​通常被定义为:​​#defineNULL((void*)0)​​​。因为在C语言中把空指针赋给​​int​​​和​​char​​​指针的时候,发......
  • Spring LDAP参考
    SpringLDAP使得构建使用LightweightDirectoryAccess协议的基于Spring的应用程序变得更加容易。本文档的副本可以制作供您自己使用和分发给他人,前提是您不对此类副本......