人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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回、出てきております。
こういったケースの場合、あまり詳しくないのですが自分で「メソッド」を作って、コードをシンプルにできるそうなのですが。
具体的にどうやって、メソッドを書いたらいいのか判らず…お知恵をお貸しいただけますと幸いです。
よろしくお願い致します。

●質問者: moon-fondu
●カテゴリ:コンピュータ 学習・教育
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● rsc
●600ポイント ベストアンサー

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

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(); 
 }
}

moon-fonduさんのコメント
ありがとうございます!うまくいきました(^^;)
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ