以下のクラスをIDEにコピーして、プログラムを作成しなさい。
(以降の問題演習はこのクラスをコピーしてください)
次のプログラムコードに、各設問の条件にあうメソッドを追加しなさい。
その後、そのメソッドが正しく動作することを検証するためのプログラムコードをmainメソッドの中に追加しなさい。
クラス名は問題番号の通りとする。(例. 問1 → Q1.java)
package chap08;
public class Q1 {
// ここにあなたがstaticメソッドを追加する
public static void main(String[] args) {
// ここに、あなたが追加したstaticメソッドをテストするコードを追加する
}
}問1.引数あり、戻り値あり
以下のstaticメソッドを作成しなさい。
メソッド名:getRectangleArea
引数列: double width, double height
戻り値の型: double
処理の内容: 幅が width、高さが height で表される長方形の面積を返す
ヒント:mainメソッドは以下のようになる。
public static void main(String[] args) {
System.out.println(getRectangleArea(10, 15));
}<結果:実引数として10と15を渡した場合>
| 150.0 |
問2.引数あり、戻り値なし
以下のstaticメソッドを作成しなさい。
メソッド名: sayHello
引数列: String name
戻り値:なし
処理の内容: 引数で渡されたnameに対して挨拶する
ヒント:mainメソッドは以下のようになる。
public static void main(String[] args) {
sayHello("imai");
}<結果>
| Hello! imai san. |
問3.引数あり、戻り値なし
以下のstaticメソッドを作成しなさい。
メソッド名: printSquareArea
引数列: double oneSide
戻り値:なし
処理の内容: 引数で渡された値を一辺とする正方形の面積を出力する
<結果:1辺の長さを3.14で渡した場合>
main()メソッドの中でprintSquareArea(3.14);として呼び出した場合
| 9.8596 |
問4.引数が複数、戻り値なし
以下のstaticメソッドを作成しなさい。
メソッド名: printMessage
引数列: String message, int count
戻り値:なし
処理の内容: 文字列 message を、count の回数だけ繰り返し出力する
<結果>
main()メソッドの中でprintMessage("Hello", 5); として呼び出した場合
| Hello Hello Hello Hello Hello |
問5.引数なし、戻り値あり
以下のstaticメソッドを作成しなさい。
メソッド名: getMessage
引数列:なし
戻り値の型: String
処理の内容: "I LOVE YOUxxx" という文字列を返す
<結果>
| I LOVE YOUxxx |
問6.他のクラスのstaticメソッドを呼び出す
mainメソッドの中で問5のgetMessageメソッドを呼び出す。
<結果>
| I LOVE YOUxxx |
問7.実引数がメソッド
mainメソッドの中で問4のprintMessageメソッドの第一引数を問5のgetMessageメソッドにして実行してみる。
<結果>
main()メソッドの中でQ4.printMessage(Q5.getMessage(), 5);として呼び出した場合
| I LOVE YOUxxx I LOVE YOUxxx I LOVE YOUxxx I LOVE YOUxxx I LOVE YOUxxx |
問8.戻り値の型がboolean
メソッド名: isEvenNumber
引数列: int value
戻り値の型: boolean
処理の内容: 引数で渡された値が偶数の場合は true、そうでない場合は false を返す。
<結果>
main()メソッドの中でSystem.out.println(isEvenNumber(255));として呼び出した場合
| false |
問9.引数が複数、戻り値あり
以下のstaticメソッドを作成しなさい。
メソッド名:getMinValue
引数列:double a, double b
戻り値の型:double
処理の内容: 引数で受け取る2つの値のうち、小さい方の値を返す(三項演算子を使うこと)
<結果>
main()メソッドの中でSystem.out.println(getMinValue(3, 4));として呼び出した場合
| 3.0 |
問10.引数が配列
以下のstaticメソッドを作成しなさい。
メソッド名: getAverage
引数列:double[] array
戻り値の型:double
処理の内容: 引数で受け取る配列の要素の平均値を返す
<結果>
main()メソッドの中でSystem.out.println(getAverage(new double[]{1, 2, 3, 4, 5, 6, 7, 8, 9}));として呼び出した場合※
※変数は参照を入れる箱に過ぎないので、配列を作るだけであれば上記のように変数を用意せず、いきなりnewする書き方ができることも理解しておいてください。
| 5.0 |
問11.戻り値が配列
以下のstaticメソッドを作成しなさい。
メソッド名: getRandomNumbers
引数列:int num
※乱数の個数
戻り値の型:int[]
処理の内容: 引数で受け取った数の乱数が入った配列(の参照)を返す。ただし、乱数は0~10の範囲とする。
<結果の例:乱数を10個作る>
main()メソッドの中で以下のように呼び出したときの例。
int[] array = getRandomNumbers(10);
for (int i : array) {
System.out.print(i + " ");
}| 10 0 7 3 6 1 4 4 5 2 |
問12.メソッドからメソッドを呼ぶ
以下のstaticメソッドを作成しなさい。
メソッド名: sayHellos
引数列: String name, int count
戻り値:なし
処理の内容: 問2で作成したsayHelloメソッドを、count の回数だけ繰り返し呼ぶ。
<結果>
main()メソッドの中でsayHellos("imai", 5); として呼び出した場合
| Hello! imai san. Hello! imai san. Hello! imai san. Hello! imai san. Hello! imai san. |
問13.メソッドチェーン
メソッドチェーンを使った問題です。
問5のgetMessage()を使って得られた文字列の文字数をlength()メソッドで取得し、コンソールに出力する処理をmain()メソッドの中に1行で記述しなさい。
<結果>
| 13 |
14.オリジナル問題作成
将来の後輩のために良い問題が出来たら教えてください。