package test2;

import java.util.*;

public class Test2 {

public static int generateRandom(int fanwei) { //生成随机数
Random random=new Random();
int R=random.nextInt(fanwei);
return R;
}
public static String operator(int fanwei) { //生成随机运算符
Random random=new Random();
int r=random.nextInt(fanwei);
String[] a=new String[fanwei];
for(int i=0;i<fanwei;i++)
{
switch(i%4) {
case 0: a[i]="+";break;
case 1: a[i]="-";break;
case 2: a[i]="*";break;
case 3: a[i]="/";break;
}
}
return a[r];

}

public static String[][] deposit(int geshu,int caozuo,int fanwei) { //将题存放在字符串数组中
int i,j,k;
String[][] ti=new String[geshu][caozuo*2];
for(i=0;i<geshu;i++)
{
for(j=0;j<caozuo*2-1;j+=2)
{
k=generateRandom(fanwei);
ti[i][j]=String.valueOf(k);
}
for(j=1;j<caozuo*2-1;j+=2)
{
ti[i][j]=operator(fanwei);
}
ti[i][caozuo*2-1]="=";
}
return ti;


}

public static void put(int geshu,int caozuo,int fanwei) { //输出
int i,j;
String[][] ti=new String[geshu][caozuo*2];
ti=deposit(geshu,caozuo,fanwei);
for(i=0;i<geshu;i++)
{
for(j=0;j<caozuo*2;j++)
{
System.out.print(ti[i][j]);
}
System.out.println();
}
}
public static int repeat(int geshu,int caozuo,int fanwei) { //判断题目是否重复
int i,j,k=1;
String[][] ti=new String[geshu][caozuo*2];
ti=deposit(geshu,caozuo,fanwei);
for(i=0;i<geshu;i++)
{
for(j=0;j<i;j++)
{
if(ti[j].equals(ti[i]))
{
k=0;
break;
}
else continue;
}
if(k==0) break;
else continue;
}
return k;

}

public static void main(String[] args)
{

Scanner s=new Scanner(System.in);

System.out.println("请输入出题个数:");
int geshu=s.nextInt();

System.out.println("请输入操作数的个数:");
int caozuo=s.nextInt();

System.out.println("请输入操作数的取值范围:");
int fanwei=s.nextInt();


deposit(geshu,caozuo,fanwei);
do {
repeat(geshu,caozuo,fanwei);
}while(repeat(geshu,caozuo,fanwei)==0);
put(geshu,caozuo,fanwei);
}

}

java课堂测试2第一阶段:方法运用的更多相关文章

  1. 每日总结:Java课堂测试第三阶段第一次优化 (2021.9.20)

    package jisuan2; import java.util.*;public class xiaoxue { public static void main(String[] args) { ...

  2. 每日总结:Java课堂测试第三阶段第二次优化 (四则运算) (2021.9.22)

    package jisuan2; import java.util.*;import java.util.Scanner; public class xiaoxue { public static v ...

  3. java课堂测试3第一部分(未完善)

    package test3;import java.util.*; public class Grade2 { static String[][] mis=new String[500][4]; // ...

  4. Java课堂测试--实现ATM的基本操作体会

    9月20的周四的Java课堂第一节课上就是有关于实现ATM的考试内容,在实现的过程中我了解到自己本身还是有很多的不足之处,例如在实现工程方面的相似性上面还有些许就的欠缺,再者就是回宿舍拿电源的原因导致 ...

  5. Java面试题_第一阶段(static、final、面向对象、多线程、集合、String、同步、接口、GC、JVM)

    1.1 简述static和final的用法? static:修饰属性,方法,代码块 (1)静态属性:也可叫类变量  类名.属性名  来访问 (共有的类变量与对象无关,只和类有关) 注意:类中的实例变量 ...

  6. java课堂测试2(两种方式)

    实验源代码 这是不使用数组形式的源代码 /* 2017/10/10 王翌淞 课堂测试2 */import java.util.Scanner; public class Number { public ...

  7. Java课堂测试1第三阶段

    package sizeyunsuan;//import java.util.Scanner;//import java.util.Random;import java.util.*; public ...

  8. Java课堂测试——一维数组

    题目: 一个典型的流程是: 2. 用户这时候有两个选择2.1  按 单步执行 键, 在 GUI 看到你的程序是如何一步一步算出目前最大子数组的范围,当前计算到的临时子数组是在哪里,等等. 最好用不同的 ...

  9. java课堂测试

       package 作业2; //信1805-1 杨一帆 20183608 public class ScoreInformation1 { private String stunumber; pr ...

随机推荐

  1. 【Azure 应用服务】App Service For Windows 环境中部署Python站点后,如何继续访问静态资源文件呢(Serving Static Files)?

    问题描述 当创建一个App Service 后,运行时环境和版本选择Windows 和 Python 3.6. 登录Kudu 站点查看,默认的文件有 web.config, hostingstart- ...

  2. Why TypeScript?

    本文经作者授权,翻译总结自 TypeScript Team 的成员 orta 的个人博客 <Understanding TypeScript's Popularity>. 原作者: ort ...

  3. 「山东省队集训2021 Round 1」 半夜

    考虑将 \(X\) 复制一次放到后面再对其长度为 \(n\) 的连续子串和 \(Y\) 求一波 \(\rm{Longest\ Common\ Subsequence}\) 就能得到 \(\Theta( ...

  4. C# Equals方法和==有什么区别

    开发工具:VS2019 一.关于这两个比较,需要从值类型和引用类型两方面来说 (A)先说值类型 上图: 因为在对值类型进行比较时候,不管 .Equals() 方法还是 == 方法,都是对值类型变量(图 ...

  5. Python - typing 模块 —— Union

    前言 typing 是在 python 3.5 才有的模块 前置学习 Python 类型提示:https://www.cnblogs.com/poloyy/p/15145380.html 常用类型提示 ...

  6. jvm学习笔记:虚拟机栈

    虚拟机栈 Each Java Virtual Machine thread has a private Java Virtual Machine stack, created at the same ...

  7. Typora画各类流程图、甘特图、饼图等详细文档

    Draw Diagrams With Markdown August 15, 2016 by typora.io Typora supports some Markdown extensions fo ...

  8. JDBC管理事务

    一.事务概念:打包一起的多个步骤的业务操作,要么同事成功,要么同时失败,则需要用事务管理: 二.代码实现

  9. Typeora 图床设置

    Typeora 文章中的图片 使用 Github 作为图床. 使用 PicGo 上传图片到 Github 并获取图片链接. 设置 Typeora 的上传服务. 一.Github 作为图床 创建 Rep ...

  10. AtCoder Regular Contest 069 D - Menagerie 枚举起点 模拟递推

    arc069.contest.atcoder.jp/tasks/arc069_b 题意:一堆不明身份的动物排成一圈,身份可能是羊或狼,羊一定说实话,狼一定说假话.大家各自报自己的两边是同类还是不同类, ...