Как вывести целое число, которое не равно 0? - PullRequest
0 голосов
/ 23 сентября 2019

Выполняя код для моего Java-класса, программа запускается, как и ожидалось, единственная проблема, с которой я сталкиваюсь, - это, например, если между штатными значениями 405, когда она печатает, она печатает 05, отмечая вопрос неправильно, потому что вопрос просто ищет 5.Любая помощь?

import java.util.Scanner; 

      highwayNumber = scnr.nextInt();

      if ((highwayNumber > 999) || (highwayNumber < 1)) {
         System.out.println(highwayNumber + " is not a valid interstate highway number.");
      }
      else if ((highwayNumber < 100) && (highwayNumber > 0) && (highwayNumber % 2 == 0)) {
         System.out.println("The " + highwayNumber + " is primary, going east/west.");
      }
      else if ((highwayNumber < 100) && (highwayNumber > 0) && (highwayNumber % 2 != 0)) {
         System.out.println("The " + highwayNumber + " is primary, going north/south.");
      }
      else if ((highwayNumber > 99) && (highwayNumber < 1000) && (highwayNumber % 2 == 0)) {
         System.out.println("The " + highwayNumber + " is auxiliary, serving the " + String.valueOf(highwayNumber).substring(1) + ", going east/west.");
      }
      else if ((highwayNumber > 99) && (highwayNumber < 1000) && (highwayNumber % 2 != 0)) {
         System.out.println("The " + highwayNumber + " is auxiliary, serving the " + String.valueOf(highwayNumber).substring(1) + ", going north/south.");
      }
   }
}

1 Ответ

1 голос
/ 23 сентября 2019

Просто замените substring на % оператор модуля:

System.out.println("The " + highwayNumber + " is auxiliary, serving the " + String.valueOf(highwayNumber % 100) + ", going east/west.");

System.out.println("The " + highwayNumber + " is auxiliary, serving the " + String.valueOf(highwayNumber % 100) + ", going north/south.");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...