没有合适的资源?快使用搜索试试~ 我知道了~
首页Java生成[m,n]范围内的随机数示例
Java生成[m,n]范围内的随机数示例
需积分: 24 0 下载量 44 浏览量
更新于2024-09-04
收藏 7KB TXT 举报
"本资源是一份Java源码示例,主要展示了如何在Java中实现控制台输入并根据用户选择生成指定范围的随机数。作者是JYH,代码在CSDN博客上有分享。核心类`ScannerAndRandomDemo`包含三个静态变量m、n和x,用于定义随机数的上下限。程序通过`Random`类生成随机数,`main`方法中使用循环不断提示用户选择随机数生成的方式:[m,n]、(m,n)等,并调用`choose`方法获取用户的选择。 `choose`方法首先打印出选择列表,然后接收用户的输入(默认为字符串"0"),通过`Scanner`读取。如果输入的是一个整数,程序会根据用户的选择进行相应的处理: 1. 如果用户选择1,程序将生成一个[m, n]范围内的随机数,使用`nextInt(n - m + 1)`计算随机数,然后加上m得到最终结果。 2. 对于选择2和3,程序可能会有错误,因为括号表示开区间,但代码没有实现这部分逻辑。这可能是开发者疏忽或者预留的未完成部分。 3. 选择4与选择1类似,同样是生成(m, n)范围内的随机数,需要注意的是这里可能需要处理m为负数的情况。 4. 选择5表示退出,但代码中没有实现相应的退出机制,程序会无限循环。 `control`方法根据用户输入的字符串进行判断和调用`scanner()`方法,这个方法可能是用于进一步处理用户输入,但由于代码缺失,我们无法得知其具体实现。整体来看,这份代码提供了一个基础框架,用于生成随机数,但需要根据实际需求补充和完善。" 这份源码对于学习Java编程特别是随机数生成和用户交互具有参考价值,适用于教学、练习或作为基础框架进行扩展开发。
资源详情
资源推荐
import java.util.Random;
import java.util.Scanner;
/**
* @author JYH
* Java控制台输入指定区间,生成指定范围的随机数字
* 作者博客地址:https://blog.csdn.net/weixin_44580492
*/
public class ScannerAndRandomDemo {
static int m;//随机数左区间
static int n;//随机数右区间
static int x;//用于处理数据类型不合理时的辅助判断
final static int x1 = -1;//区间数据范围错误
final static int x2 = -2;//区间数据类型错误
final static int y = 0;//初始化m,n,x
static Random r = new Random();//随机数生成对象
public static void main(String[] args) {
int i = 1;//循环次数
while(true){
System.out.println("=======程序第"+(i++)+"次运行======");
control(choose());
}
}
/**选择需求的method*/
public static String choose() {
System.out.println("请选择区间形式:");
System.out.println("1.[m,n]");
System.out.println("2.[m,n)");
import java.util.Scanner;
/**
* @author JYH
* Java控制台输入指定区间,生成指定范围的随机数字
* 作者博客地址:https://blog.csdn.net/weixin_44580492
*/
public class ScannerAndRandomDemo {
static int m;//随机数左区间
static int n;//随机数右区间
static int x;//用于处理数据类型不合理时的辅助判断
final static int x1 = -1;//区间数据范围错误
final static int x2 = -2;//区间数据类型错误
final static int y = 0;//初始化m,n,x
static Random r = new Random();//随机数生成对象
public static void main(String[] args) {
int i = 1;//循环次数
while(true){
System.out.println("=======程序第"+(i++)+"次运行======");
control(choose());
}
}
/**选择需求的method*/
public static String choose() {
System.out.println("请选择区间形式:");
System.out.println("1.[m,n]");
System.out.println("2.[m,n)");
System.out.println("3.(m,n]");
System.out.println("4.(m,n)");
System.out.println("5.退出");
String num = "0";//操作编号,默认为0
Scanner sc = new Scanner(System.in);//键盘输入对象
if (sc.hasNextLine()) {//判断输入数据是否为int类型
num = sc.nextLine();
}
return num;//返回操作编号
}
/**对第一步输入的数据进行处理的方法*/
public static void control(String num){//参数num应为choose()的返回值
switch (num){
case "1":// 左闭右闭
System.out.println("[m,n]");
scanner();
if(m<n){
int res1 = r.nextInt(n - m +1)+ m;
System.out.println("本次随机数为:"+res1+'\n');
break;
}else if(x==x1){
rangeError();
break;
}else if(x==x2){
typeError();
break;
}else if(m>=n){
sectionError();
break;
System.out.println("4.(m,n)");
System.out.println("5.退出");
String num = "0";//操作编号,默认为0
Scanner sc = new Scanner(System.in);//键盘输入对象
if (sc.hasNextLine()) {//判断输入数据是否为int类型
num = sc.nextLine();
}
return num;//返回操作编号
}
/**对第一步输入的数据进行处理的方法*/
public static void control(String num){//参数num应为choose()的返回值
switch (num){
case "1":// 左闭右闭
System.out.println("[m,n]");
scanner();
if(m<n){
int res1 = r.nextInt(n - m +1)+ m;
System.out.println("本次随机数为:"+res1+'\n');
break;
}else if(x==x1){
rangeError();
break;
}else if(x==x2){
typeError();
break;
}else if(m>=n){
sectionError();
break;
剩余6页未读,继续阅读
二师兄想吃肉
- 粉丝: 275
- 资源: 7
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- C++标准程序库:权威指南
- Java解惑:奇数判断误区与改进方法
- C++编程必读:20种设计模式详解与实战
- LM3S8962微控制器数据手册
- 51单片机C语言实战教程:从入门到精通
- Spring3.0权威指南:JavaEE6实战
- Win32多线程程序设计详解
- Lucene2.9.1开发全攻略:从环境配置到索引创建
- 内存虚拟硬盘技术:提升电脑速度的秘密武器
- Java操作数据库:保存与显示图片到数据库及页面
- ISO14001:2004环境管理体系要求详解
- ShopExV4.8二次开发详解
- 企业形象与产品推广一站式网站建设技术方案揭秘
- Shopex二次开发:触发器与控制器重定向技术详解
- FPGA开发实战指南:创新设计与进阶技巧
- ShopExV4.8二次开发入门:解决升级问题与功能扩展
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功