自动生成30道四则运算的数学题,当前只是简单符合出题,答题和判断的代码,还没做要求,所以现在只是能随机生成三十道100以内的加减法和九九乘法表的乘除法

package Sizeyunsuan;
/**
* 30道100以内四则运算
*
* */
public class Random { public static int getRandom( int n, int m)
{
//产生n->m的随机数
return (int) (Math.random() * (m - n) + n);
} public static char getCharRandom()
{
//随机产生四种运算符
char sign = 0;
int Sn;
Sn = getRandom(1,5);
switch(Sn)
{
case 1:sign = '+' ;break;
case 2:sign = '-' ;break;
case 3:sign = '×' ;break;
case 4:sign = '÷' ;break;
}
return sign;
} public static void main(String[] args) {
// TODO Auto-generated method stub int i = 0;
do
{
int x = (int) (Math.random() * (100 - 1 )+ 1); //产生1-100的随机数
int y = (int) (Math.random() * (100 - 1 )+ 1); //产生1-100的随机数
char sign = getCharRandom();
/*
* 判断乘法的范围*/
switch(sign)
{
case '+':
System.out.println( "("+ (i+1) +")"+ x + " " + sign + " " + y + "=" );
i++;break;
case '-':
if(x < y) //判断减数与被减数的大小关系
{
int temp;
temp = x;
x = y;
y = temp;
}
System.out.println( "("+ (i+1) +")"+ x + " " + sign + " " + y + "=" );
i++;break;
case '×':
{
x = (int) (Math.random() * (10 - 1 )+ 1);//新生成x,y<9的随机数
y = (int) (Math.random() * (10 - 1 )+ 1); System.out.println( "("+ (i+1) +")"+ x + " " + sign + " " + y + "=" );
i++;
};break;
case '÷':
do //循环生成除法
{
y = (int) (Math.random() * (10 - 1 )+ 1);
x = (int) (Math.random() * (9*y - 1 )+ 1); }
while(x % y != 0) ;
System.out.println( "("+ (i+1) +")"+ x + " " + sign + " " + y + "=" );
i++;break;
}
/* if(sign == '×')
{
x = (int) (Math.random() * (10 - 1 )+ 1);//新生成x,y<9的随机数
y = (int) (Math.random() * (10 - 1 )+ 1); System.out.println( "("+ (i+1) +")"+ x + " " + sign + " " + y + "=" );
i++;
}*/
/*
* 加减法判断*/
/* if(sign == '+' || sign == '-')
{
if(x < y) //判断减数与被减数的大小关系
{
int temp;
temp = x;
x = y;
y = temp;
}
System.out.println( "("+ (i+1) +")"+ x + " " + sign + " " + y + "=" );
i++;
}*/ /*
* 除法判断*/
/* if(sign == '÷')
{
do //循环生成除法
{
y = (int) (Math.random() * (10 - 1 )+ 1);
x = (int) (Math.random() * (9*y - 1 )+ 1); }
while(x % y != 0) ;
System.out.println( "("+ (i+1) +")"+ x + " " + sign + " " + y + "=" );
i++;
}*/
}
while(i<30);
} }

中间大段注释代码是另一种方法,是第一次写的,之后才换成的switch语句。

有新的代码,会持续更新……

00JAVA语法基础_四则运算 01的更多相关文章

  1. 00JAVA语法基础_六位验证码 01

    在网上看了许多的源程序,涉及到的东西也不太一样,多了图形处理的,由于还没理解太明白,只是做了控制台. package Six_Code; import java.util.Random; import ...

  2. 00JAVA语法基础_动手动脑

    1.仔细阅读示例: EnumTest.java,运行它,分析运行结果? 枚举类型的使用是借助ENUM这样一个类,这个类是JAVA枚举类型的公共基本类.枚举目的就是要让某个变量的取值只能为若干固定值中的 ...

  3. 00-JAVA语法基础--课后作业

    题目:像二柱子那样,花20分钟写一个能自动生成30道小学四则运算题目的“软件”. package 课堂作业1; import java.util.Random; import java.util.Sc ...

  4. 00-JAVA语法基础--动手动脑

    1.运行EnumTest.java,并分析结果,得出结论. 其源代码以及运行结果截图如下: 枚举类型的常量以字符串的形式顺序储.源代码中s和t不是原始数据类型.getCLass():取得当前对象所属的 ...

  5. 00java语法基础和课后实践

    一:运行代码,并分析结果 代码1: package reserve; public class Main { public static void main(String[] args) { Size ...

  6. 00-JAVA语法基础

    1. 原码为数的二进制数,反码是将其二进制数每一位按位取反.补码则不同,正数的补码是其原码本身,负数的补码是其除符号位以外其他每一位按位取反再加一,符号位不变. int a=100; a=a>& ...

  7. 02_java语法基础_课程动手动脑问题以及课后实验性问题及解答集锦

    Answer: 动手动脑: 1:1.1--仔细阅读实例:EnumTest.java,运行它,分析运行结果? 1.2--你能得到什么结论?你掌握了枚举变量的基本用法了吗? answer:枚举类型是引用类 ...

  8. 00JAVA语法基础 原码、反码、补码

    记得之前学C语言的时候老师课上讲过一些,不过当时觉得考试不考,也就上课听了下,下课也没怎么多做了解.这次,Java课上再次提出来了,自己也超越了些资料,对这三种概念算是有所初步了解. 1.原码 数据储 ...

  9. 063 01 Android 零基础入门 01 Java基础语法 08 Java方法 01 无参无返回值方法

    063 01 Android 零基础入门 01 Java基础语法 08 Java方法 01 无参无返回值方法 本文知识点:无参无返回值方法 无参无返回值方法 案例 为什么使用方法?--方便复杂问题调用 ...

随机推荐

  1. 字符识别OCR原理及应用实现

    字符识别OCR原理及应用实现 文本是人类最重要的信息来源之一,自然场景中充满了形形色色的文字符号.光学字符识别(OCR)相信大家都不陌生,就是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,通过 ...

  2. Tensor基础实践

    Tensor基础实践 飞桨(PaddlePaddle,以下简称Paddle)和其他深度学习框架一样,使用Tensor来表示数据,在神经网络中传递的数据均为Tensor. Tensor可以将其理解为多维 ...

  3. TVM Reduction降低算力

    TVM Reduction降低算力 这是有关如何降低算力TVM的介绍材料.像sum / max / min这样的关联约简运算符是线性代数运算的典型构造块. 本文将演示如何降低TVM算力. from _ ...

  4. 在Yolov5 Yolov4 Yolov3 TensorRT 实现Implementation

    在Yolov5 Yolov4 Yolov3 TensorRT 实现Implementation news: yolov5 support 引论 该项目是nvidia官方yolo-tensorrt的封装 ...

  5. C++标准模板库(STL)——queue常见用法详解

    queue的定义 queue<typename> name; queue容器内元素的访问 由于队列本身就是一种先进先出的限制性数据结构,因此在STL中只能通过front()来访问队首元素, ...

  6. Springboot集成Spring Security实现JWT认证

    我最新最全的文章都在南瓜慢说 www.pkslow.com,欢迎大家来喝茶! 1 简介 Spring Security作为成熟且强大的安全框架,得到许多大厂的青睐.而作为前后端分离的SSO方案,JWT ...

  7. hackthebox TheNotebook

    前言 只拿到了user,提权没成功--有wp说是CVE-2019-5736,我没打成. 打点 nmap-sV -v -A 10.10.10.230 端口扫描结果: PORT STATE SERVICE ...

  8. SpringBoot Validation优雅的全局参数校验

    前言 我们都知道在平时写controller时候,都需要对请求参数进行后端校验,一般我们可能会这样写 public String add(UserVO userVO) { if(userVO.getA ...

  9. LeSS 的诞生(一):大规模团队该何去何从

    <敏捷宣言>发布后,"敏捷"被越来越多的小型开发团队认可.与此同时,另一个问题也逐渐暴露了出来:以 Scrum 为首的敏捷方法论对那些大规模的开发团队并不友好. 基于此 ...

  10. Docker:如何修改Docker0网桥的默认网段

    1. 背景 Docker 服务启动后默认会创建一个 docker0 网桥(其上有一个 docker0 内部接口),它在内核层连通了其他的物理或虚拟网卡,这就将所有容器和本地主机都放到同一个物理网络. ...