メソッドの基礎です。
Q1
戻り値のない、initGame(),runGame(),endGame()メソッドを作成する。
各メソッドの処理内容はメソッド名と同名の文字列をSysoutで出力するのみとする。
mainメソッドから3つのメソッドを呼び出し、以下の実行結果となるようにせよ。
[実行結果]
initGame
runGame
endGame
public class Q1 { public static void main(String[] args){ initGame(); runGame(); endGame(); } public static void initGame(){ System.out.println("initGame"); } public static void runGame(){ System.out.println("runGame"); } public static void endGame(){ System.out.println("endGame"); } }
Q2
名前(String)と年齢(int)を引数で受け取り、挨拶をするメソッドを作成する。
mainメソッドで名前と年齢を入力させ、実行例のようになるようにせよ。
[実行例]
お名前を入力してください>Yamada
年齢をいれてください>20
Yamada(20)さん、こんにちは!
public class Q2{ public static void main(String[] args) { System.out.print("お名前を入力してください>"); String name=new java.util.Scanner(System.in).nextLine(); System.out.print("年齢をいれてください>"); int age=new java.util.Scanner(System.in).nextInt(); greet(name,age); } public static void greet(String name, int age){ System.out.printf("%s(%d)さん、こんにちは!\n",name,age); //System.out.printt(name + "("+age+")さん、こんにちは!"); } }
Q3
引数でintの値を受け取るとそれを3乗した値を返すメソッドを作成する。
mainメソッドで数値を一つ入力させ、実行例のようになるようにせよ。
[実行例]
整数を入れてください。>17
17を3乗すると4913です。
public class Q3 { public static void main(String[] args){ System.out.print("整数を入れてください。>"); int num=new java.util.Scanner(System.in).nextInt(); System.out.println(num + "を3乗すると"+cubeOf(num) + "です。"); } public static int cubeOf(int num){ int cubed = num*num*num; return cubed; } }
Q4
引数でintの値を3つ受け取ると、その中の最大値を返却するメソッドを作成する。
mainメソッドにて整数を3つ受け取り、最大値を求める処理を作成せよ。
[実行例]
整数1を入れてください。>3
整数2を入れてください。>10
整数3を入れてください。>4
3つの整数値の最大は10です。
public class Q4 { public static void main(String[] args){ System.out.print("整数1を入れてください。>"); int num1=new java.util.Scanner(System.in).nextInt(); System.out.print("整数2を入れてください。>"); int num2=new java.util.Scanner(System.in).nextInt(); System.out.print("整数3を入れてください。>"); int num3=new java.util.Scanner(System.in).nextInt(); System.out.println("3つの整数値の最大は"+max(num1,num2,num3)+"です。"); } public static int max(int a,int b,int c){ int max=a; if(b>max){ max = b; } if(c>max){ max = c; } return max; } }
Q5
引数でintの値を1つ受け取ると、1からその値までの和を求め返却するメソッドを作成する。
mainメソッドにて整数を1つ受け取り、和を求める処理を作成せよ。
[実行例]
1からいくつまで足しますか>10
1から10までの和は55です。
public class Q5{ public static void main(String[] args){ System.out.print("1からいくつまで足しますか>"); int num=new java.util.Scanner(System.in).nextInt(); System.out.println("1から"+num+"までの和は"+getSum(num)+"です。"); } public static int getSum(int n){ int sum=0; for(int i=1;i<=n;i++){ sum += i; } return sum; } }
Q6
●BMIクラスを作成する。
●BMIクラスの中に身長(cm)と体重(kg)を受け取るとBMIを返却する以下のメソッドを作成する
public static double getBMI(double heightCm,double weightKg){ ~計算する処理を書く }
●mainメソッドからgetBMIメソッドを呼び出す以下のアプリを作成する。詳しくは実行例を参照のこと
[実行例]
身長を入力してください(cm)>175
体重を入力してください(kg)>70
あなたのBMIは22.86です。
[解答例]
public class BMI { public static void main(String[] args){ System.out.print("身長を入力してください(cm)>"); double height=new java.util.Scanner(System.in).nextDouble(); System.out.print("体重を入力してください(kg)>"); double weight=new java.util.Scanner(System.in).nextDouble(); System.out.printf("あなたのBMIは%.2fです。\n",getBMI(height,weight)); } /* 身長(cm)と体重(kg)を引数で受け取っとBMIを返却するメソッド */ public static double getBMI(double heightCm,double weightKg){ double heightM = heightCm/100; return weightKg / (heightM*heightM); } }
Q7
●BMIAppクラスを作成し、そこからBMIクラスにあるgetBMIメソッドを呼び出し使用せよ。
実行結果はQ6と同一となるようにする。
[実行例]
身長を入力してください(cm)>175
体重を入力してください(kg)>70
あなたのBMIは22.86です。
[解答例]
public class BMIApp { public static void main(String[] args){ System.out.print("身長を入力してください(cm)>"); double height=new java.util.Scanner(System.in).nextDouble(); System.out.print("体重を入力してください(kg)>"); double weight=new java.util.Scanner(System.in).nextDouble(); System.out.printf("あなたのBMIは%.2fです。\n",BMI.getBMI(height,weight)); } }
Q8
●BMIApp2クラスを作成し、そこからBMIクラスにあるgetBMIメソッドを呼び出し使用せよ。
ただし、身長と体重はコマンドラインから入力すること。
[ヒント]
文字列からdoubleの変化は以下でできる
double d=Double.parseDouble("70.2");
[実行コマンド]
java BMIApp2 172 70.2
[実行例]
あなたのBMIは23.73です。
[解答例]
public class BMIApp2 { public static void main(String[] args){ System.out.printf("あなたのBMIは%.2fです。\n",BMI.getBMI(Double.parseDouble(args[0]),Double.parseDouble(args[1]))); } }
コメント