Java黑皮书课后题第7章:*7.13(随机数选择器)编写一个方法,返回1到54之间的随机数,但不能是传递到实参中的数。指定如下方法头
生活随笔
收集整理的這篇文章主要介紹了
Java黑皮书课后题第7章:*7.13(随机数选择器)编写一个方法,返回1到54之间的随机数,但不能是传递到实参中的数。指定如下方法头
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
7.13(隨機數選擇器)編寫一個方法,返回1到54之間的隨機數,但不能是傳遞到實參中的數。指定如下方法頭
- 題目
- 題目描述
- 可變長參數列表
- 破題
- 代碼
- 運行實例
題目
題目描述
7.13(隨機數選擇器)編寫一個方法,返回1到54之間的隨機數,但不能是傳遞到實參中的數。指定如下方法頭:
public static int getRandom(int… numbers)
可變長參數列表
本題方法頭給出的“int… numbers”,涉及到可變長參數列表
相關內容可以參考這篇文章,講的相對比較基礎比較好理解(直接點擊“參考這篇文章”即可跳轉,文章有文字詳細敘述,盡量去看一下)
下圖是那篇文章博主的代碼(忽視類名,注意第四行):
最后結果是:
也就是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之间的随机数,但不能是传递到实参中的数。指定如下方法头的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java黑皮书课后题第7章:*7.12(
- 下一篇: Java黑皮书课后题第7章:7.14(计