2017-09-03 4 views
1

わずか1入力でオカレンスの最大数を取得しようとしています。私は、最大数のカウントを計算することができますどのようにオカレンスの最大数を取得する

Scanner input = new Scanner(System.in); 
    int num = input.nextInt(); 
    int max = 0, count = 0, value, lastValue = 0; 

    while (num > 0){ 

     value = num % 10; 
     num = num/10; 
     if (value > lastValue){ 
      max = value; 
     } 

     lastValue = value; 
    } 

    System.out.println(max); 
    System.out.println("count is " + count); 
} 

- :

私のコードは次のようになり?

2556621countのような入力が2であるとします。

+0

する必要がありますように見えるのですか? – pedromss

+0

@pedromss私は1つの入力を使用しているので、最大数のカウントを取得し、複数の入力では簡単ですが、私の場合はどのように達成することができます。 ? – user1058652

+0

なぜ入力を1つ使用していますか? –

答えて

1

あなたが立ち往生しているコードがどの時点で

Scanner input = new Scanner(System.in); 
    int num = input.nextInt(); 
    int max = 0, count = 0, value = 0; 

    while (num > 0){ 

     value = num % 10; 
     num = num/10; 
     if (value > max){ 
      max = value; 
      count = 1; 
     } else if (value == max){ 
      count++; 
     } 
    } 

    System.out.println(max); // 6 for 2556621 
    System.out.println("count is " + count); // 2 for 2556621 
} 
+0

それは本当です、私は時間を感謝します。 – user1058652

関連する問題