-4

ユーザーが入力したい数の整数を受け入れるプログラムを作成します。最大数と最小数を決定し、最大数から他のすべての数を引きます。違いがわかりません。私はここに欠けていることを知っています。私を助けてください。

import java.util.*;
//Misty Stewart
public class HighestLowestDifference2324 {

    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);

        double maxValue = Double.MIN_VALUE;
        double minValue = Double.MAX_VALUE;
        double minValue1 = Double.MAX_VALUE;
        double minValue2 = Double.MAX_VALUE;

        int count = 0;
        double difference = 0;

        System.out.println("Enter numbers. Terminate with Q.");
        while (input.hasNextDouble()) {

            double Value = input.nextDouble();

            if (Value > maxValue) {
                maxValue = Value;
            }
            if (Value < minValue) {
                minValue = Value;
            }
            if (Value < minValue) {
                minValue1 = Value;
            }
            if (minValue == minValue1) {
                minValue = Value;
            }
            if (Value < minValue1) {
                minValue2 = Value;
            }
            if (minValue1 == minValue2) {
                minValue1 = Value;
            }
        }
        count++;
        difference = maxValue - minValue;
        {
            if (count > 0) {
                System.out.println("Highest no. is: " + maxValue);
                System.out.println("Lowest no. is: " + minValue);
                System.out.println("The difference from the highest is: \n" + difference);
            } else {
                System.out.println("Have a good day!");
            }
        }
    }
}
4

4 に答える 4

1

ユーザーが入力した値を配列に格納する必要があります。そして、を取得したらmaxVAlue、ループを使用して配列を反復処理し、差を計算して表示します。

于 2013-03-07T11:41:49.583 に答える
0

これはどう:

    double maxValue = Double.MIN_VALUE;
    double minValue = Double.MAX_VALUE;
    List<Double> allValues = new ArrayList<Double>();
    while (input.hasNextDouble()) {
        double value = input.nextDouble();
        maxValue = Math.max(maxValue, value);
        minValue = Math.min(minValue, value);

        allValues.add(value);
    }

    System.out.println("Highest no. is: " + maxValue);
    System.out.println("Lowest no. is: " + minValue);
    System.out.println("The difference from the highest is:" + (maxValue - minValue));
    for (Double value : allValues) {
        System.out.println("The difference from the highest is:" + (maxValue - value));
    }
于 2013-03-07T11:56:25.303 に答える
0
while (input.hasNextDouble()) {
 num = input.nextDouble();
 if ( num > max ) max = num;
 if ( num < min ) min = num;
}

difference = max -min;

上記のコードを使用して、数値のリストから最高、最低、およびそれらの差を取得できます

于 2013-03-07T11:42:24.263 に答える
0

おそらくすべての入力数値を 、Collectionたとえばに保存し、ArrayList後で分析を行う必要があります。

ArrayList<Double> list = new ArrayList<Double>();
while (input.hasNextDouble()) {
  double value = input.nextDouble();

  // logic for determining largest & smallest

  list.add(value);
}

その後、 を繰り返し処理してArrayList、目的の出力を取得します。

于 2013-03-07T11:43:31.530 に答える