このページは「メソッドとは」の演習問題です。「メソッドとは」の基礎を学びたい方はこちらで参考してください。
メソッドとは
メソッドとは複数の文をまとめ、それを1つの処理として名前をつけたもので、部品の最小単位です。この記事ではJAVAのメソッドの概念、メリット、メソッドの宣言、メソッドの呼び出し、メソッドの引数、ローカル引数と再帰呼び出し、return文-メソッドの戻り値などについて例を挙げながら詳しく説明します。
1. 負正を区別するメソッド
問題:受け取ったint型引数が負であれば-1を返却し、0であれば0を返却し、正であれば1を返却するメソッドsignOf()を作成する
注意 : メソッドだけ作っても、正しく動作するかどうかは検討できないため、メソッドをテストするmainメソッドを利用して確認しましょう。package helloworld; public class HelloWorld { public static void main(String[] args) { System.out.println(signOf(3)); System.out.println(signOf(0)); System.out.println(signOf(-3)); } public static int signOf(int n){ if (n<0) return -1; else if(n == 0) return 0; else return 1; } }
1 0 -1
2. 最小値を求めるメソッド
問題:3つのint型引数a,b,cの最小値を求めるメソッドmin()を作成しましょう
package helloworld; public class HelloWorld { public static void main(String[] args) { int min = min(5,3,7); System.out.println(min); } public static int min(int a, int b, int c){ if (a<= b && a<= c) return a; else if (b<= a && b<= c) return b; else return c; } }
3. 1+2+...+nの和を計算するメソッド
問題:1からnまでの全整数の和を求めて返却するメソッドsumUpを作成しましょう
注意 : 引数が負のときの処理もメソッドに入れましょう。package helloworld; public class HelloWorld { public static void main(String[] args) { int sum = sumOf(5); System.out.println(sum); } public static int sumOf(int n){ //引数は負の時に処理 if(n<0){ System.out.println("正数を入れてください。"); return -1; } int sum = 0; //int iを1からnまで繰り返して、sumに足し加える。 for(int i = 0;i<= n;i++ ){ sum +=i; } return sum; } }
15
4. ピラミッドを作成するメソッド
問題:"*"を用いて、n階のピラミッドを作るメソッドを作成する
ヒント : 二重for文を利用すればいいです。package helloworld; public class HelloWorld { public static void main(String[] args) { Pyramid(10); } public static void Pyramid(int n){ for(int i =1;i<=n;i++){ for(int j=1;j<=n-i;j++){ System.out.print(" "); } for(int j=n-i+1;j<=n+i-1;j++){ System.out.print("*"); } System.out.println(""); } } }
* *** ***** ******* ********* *********** ************* *************** ***************** *******************
5. 乱数を生成する
問題:a以上b未満の乱数を生成するメソッドramdom(int a, int b)を作成する。
注意 : bの値がaより小さい場合は、aの値をそのまま返却すること。package helloworld; import java.util.Random;//乱数を生成するクラス public class HelloWorld { public static void main(String[] args) { int ramdom = random(3,7); System.out.println(ramdom); } public static int random(int a,int b){ if (a > b) return a; //a>bの時にaを返す Random rnd = new Random();//インスタンスを作成 int r = rnd.nextInt(b+1);//1からbまでの乱数を生成; while (r < a){ r = rnd.nextInt(b); } return r; } }
aからbまでの乱数を生成するrandomメソッドは最初に1からbまでの乱数rを生成し、(r < a)になっている間、乱数rを再生成する。結局「return r;」の行までに行った時は乱数rがa以上b以下を満たすはずです。
6. まとめ
メソッドとは複数の文をまとめ、それを1つの処理として名前をつけたもので、部品の最小単位です。この記事ではJAVAのメソッドの概念、メソッドの宣言、メソッドの呼び出し、メソッドの引数、ローカル引数、return文-メソッドの戻り値などに関する演習問題を紹介しました。次の記事に配列を扱うメソッドをいくつ紹介しますので、ぜひご覧ください。