Я закончил простую программу, которая преобразует десятичное число в двоичный код (32bit)
. Я хотел бы реализовать некоторый тип сообщения об ошибке, если пользователь вводит номер переполнения (что-то более 2147483647
). Я попробовал if_else , loop
, но быстро обнаружил, что даже не могу этого сделать. Поэтому я испортил ввод ввода как строку, а затем использовал некоторые вещи, такие как .valueOF()
и т. Д., И до сих пор не может найти решения.сканер.nextInt(), исключение из диапазона?
Я не вижу, как я могу сравнить любое значение с a >2147483648
, если я не могу сохранить это значение в первую очередь.
Вот голый код у меня есть для метода getDecimal()
:
numberIn = scan.nextInt();
Edit :: Попробовав метод попробовать/поймать, впадающую ошибку компиляции из
"non-static method nextInt() cannot be referenced from a static context"
.
Мой код ниже.
public void getDec()
{
System.out.println("\nPlease enter the number to wish to convert: ");
try{
numberIn = Scanner.nextInt();
}
catch (InputMismatchException e){
System.out.println("Invalid Input for a Decimal Value");
}
}
Я получаю ошибку компиляции. "Нестатический метод nextInt() не может ссылаться на статический контекст" –
@StephenGilardi Я не использую nextInt в этом примере. [Здесь] (http://ideone.com/s06Q7B) - рабочий пример на идеоне.Я предполагаю, что вы вызываете это в основном, а Scanner не является статической переменной в классе? Если это переместить сканер в главном или сделать его статическим. –
№. это в своем собственном классе «Десятичный». У меня есть основной класс Driver. Я посмотрю, что вы сказали за последнюю часть, но –