新・明解 Java 入門 演習 2-7, 2-8, 2-9, 2-10 解答
Hello, Terminal!swaponQです!
前回に引き続き、今回は演習 2-7, 2-8, 2-9, 2-10 に取り組んでいこうと思います。
- 演習 2-7
以下に示すプログラムを作成せよ。
・1桁の正の整数値をランダムに生成して表示
・1桁の負の整数値をランダムに生成して表示
・2桁の正の整数値をランダムに生成して表示
ex02_7.java
import java.util.Random; class ex02_7 { public static void main(String[] args) { Random rand = new Random(); int randnum1 = rand.nextInt(9); //0,1,2,3,4,5,6,7,8のどれか randnum1 = randnum1 + 1; //1,2,3,4,5,6,7,8,9のどれか System.out.println("1桁の正の整数値:" + randnum1); int randnum2 = rand.nextInt(9); //0,1,2,3,4,5,6,7,8のどれか randnum2 = -(randnum2 + 1); //-1,-2,-3,-4,-5,-6,-7,-8,-9のどれか System.out.println("1桁の負の整数値:" + randnum2); int randnum3 = rand.nextInt(9); //0,1,2,3,4,5,6,7,8のどれか randnum3 = (randnum3 + 1) * 10; //10,20,30,40,50,60,70,80,90のどれか int randnum4 = rand.nextInt(10); //0,1,2,3,4,5,6,7,8,9のどれか System.out.println("2桁の正の整数値:" + (randnum3 + randnum4)); } }
実行結果
1桁の正の整数値:6 1桁の負の整数値:-1 2桁の正の整数値:79
- 演習 2-8
キーボードから読み込んだ整数値プラスマイナス5の範囲の整数値をランダムに生成して表示するプログラムを作成せよ。
ex02_8.java
import java.util.Scanner; import java.util.Random; class ex02_8 { public static void main(String[] args) { Scanner stdIn = new Scanner(System.in); Random rand = new Random(); System.out.print("整数値:"); int n = stdIn.nextInt(); int randnum = rand.nextInt(11); //0,1,2,3,4,5,6,7,8,9,10のどれか randnum = randnum - 5; //-5,-4,-3,-2,-1,0,1,2,3,4,5のどれか System.out.println("その値の±5の乱数を生成しました。それは" + (n + randnum) + "です。"); } }
実行結果
整数値:100 その値の±5の乱数を生成しました。それは99です。
- 演習 2-9
以下に示すプログラムを作成せよ。(実数値の乱数の生成にはnextDouble()を使うこと)
・0.0以上1.0未満の実数値をランダムに生成して表示
・0.0以上10.0未満の実数値をランダムに生成して表示
・-1.0以上1.0未満の実数値をランダムに生成して表示
ex02_9.java
import java.util.Random; class ex02_9 { public static void main(String[] args) { Random rand = new Random(); double randnum1 = rand.nextDouble(); System.out.println("0.0以上1.0未満の実数値:" + randnum1); int randnum2 = rand.nextInt(10); //0,1,2,3,4,5,6,7,8,9のどれか double randnum3 = rand.nextDouble(); System.out.println("0.0以上10.0未満の実数値:" + (randnum2 + randnum3)); double randnum4 = rand.nextDouble(); int randnum5 = rand.nextInt(2); //0,1のどれか System.out.println("-1.0以上1.0未満の実数値:" + (randnum4 - randnum5)); } }
実行結果
0.0以上1.0未満の実数値:0.11685385298679984 0.0以上10.0未満の実数値:9.726825711671045 -1.0以上1.0未満の実数値:-0.5019914805602478
- 演習 2-10
名前の姓と名を個別にキーボードから読み込んで。挨拶を行うプログラムを作成せよ。
ex02_10.java
import java.util.Scanner; class ex02_10 { public static void main(String[] args) { Scanner stdIn = new Scanner(System.in); System.out.print("姓:"); String last = stdIn.next(); System.out.print("名:"); String first = stdIn.next(); System.out.println("こんにちは" + last + first + "さん。"); } }
実行結果
姓:swapon 名:Q こんにちはswaponQさん。
以上で「第2章:変数を使おう」の演習は全て終了です。
演習問題の指示を少し考察してからコーディングを始めるような問題が登場してきましたね。
お疲れ様でした!
次回は「第3章:プログラムの流れの分岐」です。
Goodbye, Terminal… swaponQでした!