戻る
:配列4
5個の配列に2桁の数値が入っています。その中から最大値、最小値を求めてください
public class Test {
    public static void main(String[] args) {
        int[] array = {12, 35, 64, 43, 63};
        int max = array[0];
        int min = array[0];

        for(int i = 0; i < 4; i++){
          if(array[i] < array[i + 1]){
            max = array[i + 1];
          } else if(array[i] > array[i + 1]){
            min = array[i + 1];
          }
        }
        System.out.println("max:" + max + ", min:" + min);
 
        
    }
}

 依頼日:2020/11/19 15:55
プログラムはできたのですが、本当は最大値は76、最小値は12になるべきですが どうしてもそうはなりません。どこがおかしいのでしょうか?
 回答日:2020/11/19 15:59  回答者:講師 一郎
配列のn番目と配列のn+1番目を比較して、最小最大と比較するプログラムになっています。 なので、最小・最大が配列の最後の要素の43と63の比較の結果になってしまっています。 「if(array[i] < array[i + 1]){」の部分は、 「if(max < array[i]){」であるべきです。 最小も同じ形で考えなおしてください。