Javaのメソッドについて

こちら http://q.hatena.ne.jp/1539691905 でご回答いただいたコードを参考に、
以下のコードを書いてみました。

サンプルコードその2
https://gist.github.com/AuroraNorthernQuarter/196c7a8fb85fe967f5a5ecacf6a5d50e
得点によってメッセージを出して、そのメッセージの対象となる生徒の苗字と身長、そして平均身長を出すというものです。
このコードで、気になる部分がありまして。

for (int i = 0; i <= 2; i++) {
System.out.println(name[i] + ":" + height[i] + "cm");
sum = sum + height[i];
}
System.out.print("平均:" + sum/3);

の箇所です。この部分は全く同じ内容で2回、出てきております。
こういったケースの場合、あまり詳しくないのですが自分で「メソッド」を作って、コードをシンプルにできるそうなのですが。
具体的にどうやって、メソッドを書いたらいいのか判らず…お知恵をお貸しいただけますと幸いです。
よろしくお願い致します。

回答の条件
  • 1人20回まで
  • 登録:
  • 終了:2018/10/22 19:12:52
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:rsc96074 No.1

回答回数4503ベストアンサー獲得回数437

ポイント600pt

 こちらは参考になるでしょうか。

package testprogramm;

import java.util.Scanner; 


public class Sample { 

    static void Disp(String[] name, double[] height){
        int n = name.length;
        double sum = 0;
        for (int i = 0; i < n; i++) { 
                    System.out.println(name[i] + ":" + height[i] + "cm"); 
                    sum = sum + height[i]; 
                }
                System.out.println("平均:" + sum/n+ "cm");
        
    }
    
    public static void main(String args[]) {

        Scanner scan = new Scanner(System.in); 

        while (true) { 
            System.out.print("得点を入力してください: "); 
            // キーボードから整数の入力を受け取る 
            int score = scan.nextInt(); 

            if (score > 90) { 
                System.out.println("おめでとう! 合格です"); 
                String name[] = new String[3]; 
                double height[] = new double[3]; 
                double sum = 0; 
                name[0] = "鈴木"; 
                name[1] = "杉山"; 
                name[2] = "田中";  
                height[0] = 168.7; 
                height[1] = 173.4; 
                height[2] = 155.8; 
                Disp(name,height); 
                break; 
            } else if (score >= 60) { 
                System.out.println("もう少し頑張りましょう。"); 
                String name[] = new String[3]; 
                double height[] = new double[3]; 
                double sum = 0; 
                name[0] = "橋本"; 
                name[1] = "高杉"; 
                name[2] = "佐藤";  
                height[0] = 166.3; 
                height[1] = 159.1; 
                height[2] = 177.4; 
                Disp(name,height);
                break; 
            } else if (score < 0) { 
                break; 
            } 
        }
        scan.close(); 
    }
}
id:moon-fondu

ありがとうございます!うまくいきました(^^;)

2018/10/22 19:12:34

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません