QA@IT
«回答へ戻る

回答を投稿

最高得点・最低得点が複数人いた場合は抜けてますのでそこは頑張ってやってみましょう。


おまけです。
私が参考コードを書くとしたらこんな感じになります。
まぁ、これパクったら先生は気づくでしょうから載せてみます。
偉そうに書くほどきれいなコードではないですが参考までに。

細かいところは置いといて、早い段階から newすることをやってみるといいですよ。

public class MethodAddFO {

    public static void main(String[] args) {
        String[] name = { "大悟", "琴音", "勇輝", "葵", "綾乃", "和樹", "凛", "愛花", "結愛",
                "孝太郎" };

        int[] score = { 74, 70, 88, 82, 96, 64, 80, 61, 72, 79 };

        // メソッドの呼び出し
        MethodAddFO ma = new MethodAddFO(score, name);
        ma.printMaxScoreStudents();
        ma.printMinScoreStudents();     
    }

    // ここにメソッドを追加してください
    private int[] scores;
    private String[] names;

    public MethodAddFO(int[] scores, String[] names){
        this.scores = scores;
        this.names = names;
    }

    public void printMaxScoreStudents(){
        int max = getMaxScore();        
        System.out.println("Highest Score:" + max);
        printSpecifiedScoredStudents(max);
    }

    public void printMinScoreStudents(){
        int min = getMinScore();        
        System.out.println("Lowest Score :" + min);
        printSpecifiedScoredStudents(min);
    }

    private void printSpecifiedScoredStudents(int score){
        for(int i=0; i < this.scores.length; i++){
            if(this.scores[i] == score){
                System.out.println("  " + names[i]);
            }
        }       
    }

    private int getMinScore(){
        int min = scores[0];

        for(int i=0; i<scores.length; i++){
            if (min > scores[i]) min = scores[i];
        }
        return min;
    }

    private int getMaxScore(){
        int max = scores[0];

        for(int i=0; i<scores.length; i++){
            if (max < scores[i]) max = scores[i];
        }
        return max;
    }
}
最高得点・最低得点が複数人いた場合は抜けてますのでそこは頑張ってやってみましょう。

---

おまけです。
私が参考コードを書くとしたらこんな感じになります。
まぁ、これパクったら先生は気づくでしょうから載せてみます。
偉そうに書くほどきれいなコードではないですが参考までに。

細かいところは置いといて、早い段階から newすることをやってみるといいですよ。

```java
public class MethodAddFO {

	public static void main(String[] args) {
		String[] name = { "大悟", "琴音", "勇輝", "葵", "綾乃", "和樹", "凛", "愛花", "結愛",
				"孝太郎" };

		int[] score = { 74, 70, 88, 82, 96, 64, 80, 61, 72, 79 };

		// メソッドの呼び出し
		MethodAddFO ma = new MethodAddFO(score, name);
		ma.printMaxScoreStudents();
		ma.printMinScoreStudents();		
	}

	// ここにメソッドを追加してください
	private int[] scores;
	private String[] names;

	public MethodAddFO(int[] scores, String[] names){
		this.scores = scores;
		this.names = names;
	}
	
	public void printMaxScoreStudents(){
		int max = getMaxScore();		
		System.out.println("Highest Score:" + max);
		printSpecifiedScoredStudents(max);
	}
	
	public void printMinScoreStudents(){
		int min = getMinScore();		
		System.out.println("Lowest Score :" + min);
		printSpecifiedScoredStudents(min);
	}
	
	private void printSpecifiedScoredStudents(int score){
		for(int i=0; i < this.scores.length; i++){
			if(this.scores[i] == score){
			    System.out.println("  " + names[i]);
			}
		}		
	}
	
	private int getMinScore(){
		int min = scores[0];
	
		for(int i=0; i<scores.length; i++){
			if (min > scores[i]) min = scores[i];
		}
		return min;
	}
	
	private int getMaxScore(){
		int max = scores[0];
		
		for(int i=0; i<scores.length; i++){
			if (max < scores[i]) max = scores[i];
		}
		return max;
	}
}
```