Где бы я разместил программу, если бы хотел, чтобы 0 заканчивал ее? - PullRequest
0 голосов
/ 01 октября 2018

Если бы я хотел завершить программу, если человек введет «0» до того, как будут введены какие-либо другие числа, я бы использовал (и где бы я их разместил?)

while (number == 0){
System.out.println("No numbers are entered except 0");
System.exit(0);}" 

или я бы использовал

if (number == 0){
System.out.println("No numbers are entered except 0");
System.exit(0);}"

Моя программа выглядит следующим образом:

import java.util.*;
public class Count2{
public static void main(String[] args){

Scanner input = new Scanner(System.in);
int number, maxNum=0, count=0;

System.out.print("Enter a number (0 ends the input): ");
  do {
   number = input.nextInt();
   if (number > maxNum){
   count = 0;
   maxNum = number;
   }
   if (number == maxNum){
    count++;
   }

 }
while (number !=0);

System.out.println("The maximum numver is " +maxNum);
System.out.println("The count for the max number is " + count);
}

}}

Я пытался добавить код для ввода целого числа перед «do» вместе с кодом выхода, но когда я это сделал, мой счетиспорчен в конце

1 Ответ

0 голосов
/ 01 октября 2018

Я бы просто пошел на while истинный цикл.Обратите внимание, что count должен быть установлен на 1 в первом случае

int number=0, maxNum=0, count=0;
while (true) {

   number = input.nextInt();
   if (number == 0) {
     break;
   }

   if (number > maxNum){
      count = 1;   // if greater than existing then set to one
      maxNum = number;
   }
   else if (number == maxNum){
      count++;
   }
}

// print
if (count == 0){   // if a non-zero was entered then `count` will be `1`
    System.out.println("No numbers are entered except 0");
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...