メソッドの基礎です。
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])));
}
}
コメント