2-3 其它輸入
在前面兩節中,我們先後討論了在程式中直接輸入變數的內容,以及透過鍵盤,讓使用者可以輸入變數的內容。除了這兩種方式外,java語言本身還提供其它的輸入方式,後續將探討亂數產生器和日期時間。
2_3.1 亂數產生器
我們試著撰寫可以產生介於0-9的整數數值,再將該數值以幸運數字的方式呈現。
Chap2_3_1.java
執行結果
今日的幸運數字為 6。
程式說明:
1. 如同之前的從鍵盤讀入範例一般,要使用亂數產生器來產生亂數,必須有一定的程序步驟。 如圖2-13所示
練習題 2-7
由亂數產生器產生三個數值x, y,z。
x為正的個位數(1~9)。
y為負的個位數(-1~-9)。
z為正的二位數(10~99)。
練習題 2-8
由鍵盤輸入一個整數,然後由亂數產生器產生一個正負5的倍數。
參考結果
練習題 2-9
練習題 2-10
由亂數產生器產生三個數值x, y,z(請參考下面的補充)。
x為正的實數(0.0 ~1.0)。
y為正的實數(0.0 ~ 10)。
z為實數(-1.0 ~ 1.0)。
[補充] 下表列出亂數產生器的一些方法。
表2-4 亂數產生器的方法
練習題 2-11
由亂數產生一個實數(double)的半徑,利用final的實數(PI=3.14),計算出此圓的面積。
參考結果
在前面兩節中,我們先後討論了在程式中直接輸入變數的內容,以及透過鍵盤,讓使用者可以輸入變數的內容。除了這兩種方式外,java語言本身還提供其它的輸入方式,後續將探討亂數產生器和日期時間。
2_3.1 亂數產生器
我們試著撰寫可以產生介於0-9的整數數值,再將該數值以幸運數字的方式呈現。
Chap2_3_1.java
// 利用亂數產生器產生並顯示0 ~ 9的幸運數字 import java.util.Random; class Chap2_3_1 { public static void main(String[] args) { Random rand = new Random(); int luckyNo = rand.nextInt(10); // 產生0~9的亂數 System.out.println("今日的幸運數字為 " + luckyNo + "。"); } } |
執行結果
今日的幸運數字為 6。
程式說明:
1. 如同之前的從鍵盤讀入範例一般,要使用亂數產生器來產生亂數,必須有一定的程序步驟。 如圖2-13所示
import java.util.Random; ------------------ ① 置於類別宣告之前。 class Chap2_3_1 { public static void main(String[] args) { Random rand = new Random(); ---- ②置於main方法的開頭,必須在步驟 3之前。 int luckyNo = rand.nextInt(10);-------③ 接收亂數產生器所產生的整數。 } } |
圖2-13
2. 因為程式利用rand.nextInt(10);,所以會得到介於0-9之間的整數。這就像是去廟裡求籤,在 籤桶裡有10支籤,會抽中哪一支完全由天註定。練習題 2-7
由亂數產生器產生三個數值x, y,z。
x為正的個位數(1~9)。
y為負的個位數(-1~-9)。
z為正的二位數(10~99)。
練習題 2-8
由鍵盤輸入一個整數,然後由亂數產生器產生一個正負5的倍數。
參考結果
請輸入整數 :7 正負五的倍數產生中。 新整數是7的4倍,為28。 |
練習題 2-9
利用亂數產生器產生二個0~100的整數,在畫面上顯示該二數的相反數,以及差值。
參考結果x的值為 40 y的值為 13 x的負值為 -40 y的負值為 -13 二數相差 27 |
練習題 2-10
由亂數產生器產生三個數值x, y,z(請參考下面的補充)。
x為正的實數(0.0 ~1.0)。
y為正的實數(0.0 ~ 10)。
z為實數(-1.0 ~ 1.0)。
[補充] 下表列出亂數產生器的一些方法。
表2-4 亂數產生器的方法
Method(方法) | Data-Type(資料型態) | 產生的數值範圍 |
nextInt() | int | -2147483648 ~ +2147483647 |
nextInt(n) | int | 0~(n-1) |
nextLong() | long | -9223372036854775808 ~ +9223372036854775807 |
nextDoouble() | double | 0.0 ~ 1.0 |
nextFloat() | float | 0.0 ~ 1.0 |
nextBoolean() | boolean | true 或 false |
練習題 2-11
由亂數產生一個實數(double)的半徑,利用final的實數(PI=3.14),計算出此圓的面積。
參考結果
半徑0.48418067421193156的圓面積為0.7361131053802068。 |
0 意見:
張貼留言