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. WAMP 2.5 无法访问局域网的解决方法

    打开Apache配置文件 httpd.conf  (该文件在wamp\bin\apache\apache2.4.9\conf) DocumentRoot "d:/wamp/www/" ...

  2. Java 学习:对象和类

    对象和类 从认识的角度考虑是先有对象后有类.对象,是具体的事物.类,是抽象的,是对对象的抽象. 从代码运行角度考虑是先有类后又对象.类是对象的模板. 对象:对象是类的一个实例,有状态和行为. 类:类是 ...

  3. go语言学习代码

    1.day01 package main //声明文件所在的包,每个go文件必须有归属包 import "fmt" //引入程序中需要用的包,为了使用包下的函数 比如函数:Prin ...

  4. Django使用tinymce富文本编辑器

    1 - 安装 pip install django-tinymce==2.6.0 2 - 注册app INSTALLED_APPS = ( ... 'tinymce', ) 3 - 在setting中 ...

  5. redis 主从复制详解

    引言 我们之前操作 Redis 都是单机版,但是实际应用中没人使用单机版,都是搭建集群的方式.这篇文章要介绍的主从复制,是指将一台 Redis 服务器的数据,复制到其他 Redis 服务器,我们将前者 ...

  6. tomcat快速发布备份脚本

    一.说明 我们每次在tomcat中发布新war包,总是要经历[备份-停机-上传-启动]这几个部分,其中上传的环节和网速有极大相关性,要是网速很慢,那么整个发布的时间就会很长. 如果我们不借助于自动化发 ...

  7. 放码来战!HMS Core线上Codelabs挑战赛正式开始

    亲爱的开发者,在1024程序员节即将到来之际,HMS Core准备了一场线上Codelabs挑战赛,现向你发出诚挚邀请,希望你能将新奇的想法和对产品的思考融入代码,用技术与世界对话. HMS Core ...

  8. WPF WPF中解决内存泄露的几点提示与解决方法

    http://www.cnblogs.com/LastPropose/archive/2011/08/01/2124359.html 一直以来用WPF做一个项目,但是开发中途发现内存开销太大,用ANT ...

  9. 【转】Linux 查看端口占用情况

    Linux 查看端口占用情况可以使用 lsof 和 netstat 命令. lsof lsof(list open files)是一个列出当前系统打开文件的工具. lsof 查看端口占用语法格式: l ...

  10. UVA 1572 Self-Assembly(拓扑排序)

    1 // 把一个图的所有结点排序,使得每一条有向边(u,v)对应的u都排在v的前面. 2 // 在图论中,这个问题称为拓扑排序.(toposort) 3 // 不难发现:如果图中存在有向环,则不存在拓 ...