このページは「メソッドとは」の演習問題です。「メソッドとは」の基礎を学びたい方はこちらで参考してください。
メソッドとは
メソッドとは複数の文をまとめ、それを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文-メソッドの戻り値などに関する演習問題を紹介しました。次の記事に配列を扱うメソッドをいくつ紹介しますので、ぜひご覧ください。