こちら 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回、出てきております。
こういったケースの場合、あまり詳しくないのですが自分で「メソッド」を作って、コードをシンプルにできるそうなのですが。
具体的にどうやって、メソッドを書いたらいいのか判らず…お知恵をお貸しいただけますと幸いです。
よろしくお願い致します。
こちらは参考になるでしょうか。
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(); } }
ありがとうございます!うまくいきました(^^;)
2018/10/22 19:12:34