2016-10-14 1 views
0

Пожалуйста, помогите.Ввод int во время объявления переменной Double и наоборот Java

Заявление должно напечатать:

«Пожалуйста, введите страхователю стоимость вашего дома как целое число:»

, который является простым, но если я вхожу двойной с другой оператор печатает, что гласит: «Вы должен вводить целое число: «

Вот где я застрял. Как бы то ни было, я получаю фатальные логические ошибки.

Вот мой код, начинающийся с объявленной переменной и пропуск в период между кодом:

double homeInsVal = 0.0; 

<other code> 

System.out.printf("%nPlease enter the insured value of your home as a whole number: "); 
homeInsVal = input.nextDouble(); 
{ 
if (homeInsVal >= 0.0) 
{ 
    System.out.printf("%nYou must only enter an integer: "); 
    homeInsVal = input.nextInt(); 
} 
} 

Моя логика полностью отключен. Причина, по которой я объявляю homeInsVal как double, потому что, если я объявляю его как Int, как только я введу десятичный код, чтобы запросить второй оператор, я получаю логическую ошибку, мой код завершается, но так, как я в настоящее время имею код, написанный второе приглашение будет напечатано, даже если я введу целое число.

Пожалуйста, помогите!

Примечание. Это вступительный Java-класс, и, хотя нищие не могут быть выбраны, пожалуйста, объясните как можно проще. Благодаря!

+0

Проверка целочисленной ценности в Java http://stackoverflow.com/questions/8336607/how-to-check-if-the-value-is-integer-in-java –

ответ

0

Вы хотите целое число, но пользователь может ввести то, что им нравится , включая письма и другой мусор. Но вы можете быть уверены, что пользователь вводит что-то, т. Е. String. Кроме того, чтобы отправить данные в вашу программу, пользователь будет нажимать . Введите, который помещает символ новой строки (S) в буфер.

Что это значит? Это означает, что вам нужно что-то вроде этого:

String line = input.nextLine(); 
try { 
    Integer number = Integer.parseInt(line); 
} catch (NumberFormatException e) { 
    // input wasn't a number 
} 

Это еще не все, но мы надеемся, что вы сможете опираться на него.

Смежные вопросы