7.13(随机数选择器)编写一个方法,返回1到54之间的随机数,但不能是传递到实参中的数。指定如下方法头

  • 题目
    • 题目描述
    • 可变长参数列表
    • 破题
  • 代码
    • 运行实例

题目

题目描述

7.13(随机数选择器)编写一个方法,返回1到54之间的随机数,但不能是传递到实参中的数。指定如下方法头:
public static int getRandom(int… numbers)

可变长参数列表

本题方法头给出的“int… numbers”,涉及到可变长参数列表
相关内容可以参考这篇文章,讲的相对比较基础比较好理解(直接点击“参考这篇文章”即可跳转,文章有文字详细叙述,尽量去看一下)

下图是那篇文章博主的代码(忽视类名,注意第四行):

最后结果是:

5
10

也就是add方法中的args接收到的可以是一个实参,也可以是多个实参(此时以数组形式接收)

破题

因为题目中要求“方法返回1到54之间的随机数,但不能是传递到实参中的数”
博主的想法是main方法调用getRandom方法时传入的是,返回随机数的上下线(含),拿本题返回1到54之间的随机数即为:getRandom(1, 54)

代码

public class Test7_13 {public static void main(String[] args) {// 调用getRandom方法并接收一个随机整数值int result = getRandom(1, 54);// 为测试结果是否正确将result输出System.out.println(result);}public static int getRandom(int... numbers){/**(int) Math.random()获取0到0的整数值*(int) (Math.random()*2)获取0到1的整数值*(int) (Math.random()*3)获取0到3的整数值*所以:(int) (Math.random()*a)获取0到a的整数值* (int) (Math.random()*a+b)获取b到(a+b)的整数值*/int a = numbers[1] - numbers[0];int b = numbers[0];return (int) (Math.random()*a+b);}
}

运行实例

50
37
39

Java黑皮书课后题第7章:*7.13(随机数选择器)编写一个方法,返回1到54之间的随机数,但不能是传递到实参中的数。指定如下方法头相关推荐

  1. Java黑皮书课后题第6章:*6.2(求一个整数各位数字之和)编写一个方法,计算一个整数各位数字之和。使用下面的方法头:public static int sumDigits(long n)

    6.2(求一个整数各位数字之和)编写一个方法,计算一个整数各位数字之和.使用下面的方法头:public static int sumDigits(long n) 题目 题目概述 槽点 代码 运行示例 ...

  2. Java黑皮书课后题第6章:*6.20(计算一个字符串中字母的个数)编写一个方法,使用下面的方法体计算字符串中的字母个数。编写一个测试程序,提示用户输入字符串,然后显示字符串中的字母个数

    6.20(计算一个字符串中字母的个数)编写一个方法,使用下面的方法体计算字符串中的字母个数.编写一个测试程序,提示用户输入字符串,然后显示字符串中的字母个数 题目 题目描述 破题 代码 运行示例 题目 ...

  3. Java黑皮书课后题第7章:*7.22(计算一个字符串中大写字母的数目)编写程序,从命令行输入一个字符串,然后显示字符串中大写字母的数目

    7.22(计算一个字符串中大写字母的数目)编写程序,从命令行输入一个字符串,然后显示字符串中大写字母的数目 题目 题目描述 破题 代码 运行实例 题目 题目描述 7.22(计算一个字符串中大写字母的数 ...

  4. Java黑皮书课后题第2章:2.6(求一个整数各位数的和)读取一个0和1000之间的整数,并将给整数的各位数字相加

    2.6(求一个整数各位数的和)读取一个0和1000之间的整数,并将给整数的各位数字相加 题目 题目描述 运行示例 题目槽点与破题 题目槽点 破题 如何提取数字 代码块 方法评价 题目 题目描述 2.6 ...

  5. Java黑皮书课后题第11章:11.2(Person Student Employee Faculty Staff类)设计一个名为Person的类及其两个名为Student和Employee的子类

    Java黑皮书课后题第11章:11.2(Person Student Employee Faculty Staff类) 题目 缺陷 UML图 代码 Test02_MyDate.java:用于参考的My ...

  6. Java黑皮书课后题第10章:**10.25(新的字符串split方法)String类中的split方法会返回一个字符串数组,该数组是由分隔符分隔开的子串构成的

    Java黑皮书课后题第10章:**10.25(新的字符串split方法) 题目 代码 运行实例 题目 代码 public class Test25 {public static String[] sp ...

  7. Java黑皮书课后题第10章:10.21(被5或6整除)找出能被5或6整除的大于Long.MAX_VALUE的前10个数字

    Java黑皮书课后题第10章:10.21(被5或6整除)找出能被5或6整除的大于Long.MAX_VALUE的前10个数字 题目 代码 结果 题目 都在上面 代码 import java.math.B ...

  8. Java黑皮书课后题第10章:*10.13(几何:MyRectangle2D类)定义MyRectangle2D类

    Java黑皮书课后题第10章:10.3 题目 程序 代码 Test13.java Test13_MyRectangle2D.java 运行 UML 题目 程序 Test13.java:测试程序 Tes ...

  9. Java黑皮书课后题第10章:10.2(BMI类)将下面的新构造方法加入BMI类中

    Java黑皮书课后题第10章:10.2(BMI类)将下面的新构造方法加入BMI类中 题目 程序说明 题目槽点 代码:Test2_BMI.java 运行实例 题目 程序说明 Test2_BMI.java ...

  10. Java黑皮书课后题第10章:*10.1(Time类)设计一个名为Time的类。编写一个测试程序,创建两个Time对象(使用new Time()和new Time(555550000))

    Java黑皮书课后题第10章:*10.1设计一个名为Time的类.编写一个测试程序,创建两个Time对象 题目 程序 代码 Test1.java Test1_Time.java 运行结果 UML 题目 ...

最新文章

  1. 2月19日2021CCF颁奖典礼即将举办,“为什么在横店?”
  2. Android 相机,视频录制
  3. 基于JSON Web Tokens的单点登录(SSO)或通行证(Passport)系统方案
  4. 为什么民航单位免费给查胸部CT+为什么天气预报中有风向
  5. 查询mysql视图_MySQL数据库简介及常用命令
  6. 垃圾收集 java_关于Java垃圾收集
  7. Bootstrap系列 -- 36. 向上弹起的下拉菜单
  8. 类似色/同色系电商海报模板,PSD分层模板
  9. 任正非华为为什么暂不推出鸿蒙,任正非表示,华为的鸿蒙系统已经上网?惊喜吗...
  10. 推理集 —— 工作与职业
  11. Linux chapter 2
  12. 《物联网IoT解决方案》(Unity+SteamVR+云技术+5G+AI+物联网+IoT+人机交互+万物互联+物物互联+射频识别+全球定位系统+实时采集+智能化感知+识别+管理+立钻哥哥+==)
  13. Google正确搜索方法
  14. 从零开始手写 VIO
  15. 我的微信公众号开通了
  16. 新华三网络部署(和思科的区别)
  17. 施旺将接替贺恩霆担任赛诺菲大中华区总裁;嘉士伯集团试用生物基啤酒瓶 | 美通企业日报...
  18. 调用JavaAPI发送传真
  19. eMMC Partition
  20. k8s 集群之使用 nfs 网络存储挂载外部目录和文件

热门文章

  1. linux top交叉编译_ARM Linux交叉编译工具链的制作
  2. 强制生成32位arm程序_3. 从0开始学ARM-ARM模式、寄存器、流水线
  3. opencv 图像 抠图 算法_人工智能 | 不用绿幕也能实时抠图,商汤等提出只需单张图像、单个模型的新方法MODNet...
  4. python语言编写一个生成九宫格图片的代码_用Python一键生成炫酷九宫格图片,火了朋友圈...
  5. python 创建空的numpy数组_Numpy入门教程:01. 数组的创建与属性
  6. Java 开发者必备手册开放下载!
  7. python输出第几行第几个_python怎么PRINT出第几行
  8. 一个游戏美术写给策划的快速入门
  9. Photon多人游戏开发教程
  10. 数据库面试题【一、事务四大特性】