1

最大数を計算して表示する方法は?

import java.util.Scanner;

public class GreatestNumber {

  public static void main(String[] args) {
    int [] num = new int [10];
    int counter;
    int max = 0;

    Scanner read = new Scanner(System.in);

    for (int i=0; i<num.length; i++)
    {
        System.out.print("Enter StaffID to be edited:");
        num[i]=read.nextInt();
    }
  }
}
4

5 に答える 5

4

数値を読みながら比較したいと思うかもしれません。また、0の開始値としてを使用してもmax、すべての入力値が負の場合、必要な結果が出力されません。Integer.MIN_VALUE代わりに使用してください:

int [] num = new int [10];
int counter;
int max = Integer.MIN_VALUE; // <-- initial value

Scanner read = new Scanner(System.in);

for (int i = 0; i < num.length; i++)
{
    System.out.print("Enter StaffID to be edited:");
    num[i] = read.nextInt();
    if (num[i] > max)
    {
        max = num[i];
    }
}

System.out.print("Max number is:");
System.out.print(max);
于 2013-03-27T13:14:10.277 に答える
3

他のユーザーが提供するソリューションのほかに、配列からリストを作成、リスト内の最大値を見つける既存のメソッドを使用できます。

List list = Arrays.asList(ArrayUtils.toObject(num));
System.out.println(Collections.max(list)); //Will print the maximum value
于 2013-03-27T13:18:12.567 に答える
1

これはあなたがそれを行う方法です:

  1. 最大数を求めているので、値が非常に小さい整数を作成します。

  2. 配列の要素を反復処理します。現在見ている要素が現在の最大要素 (手順 1 で初期化) よりも大きい場合は、最大要素の値を更新します。

于 2013-03-27T13:14:30.320 に答える
0

現在の最大値を追跡し、より高い数値が見つかった場合は更新します。つまり、

if (num[i] > max)
  max = num[i];
于 2013-03-27T13:14:58.213 に答える
0

実行中の変数maxを に設定しますInteger.MIN_VALUE。ループ内で配列内のすべての要素と比較し、配列要素の方が大きい場合は、その値を にコピーしますmax。最後に、あなたは の最大の要素を持っていますmax

于 2013-03-27T13:15:25.180 に答える