Я знаю, что на этом сайте уже много вопросов, но я все еще не могу его повесить в моей программе.проверка, если вход сканера как положительное целое
import java.util.Scanner;
public class time {
public static void main (String[] args) {
int a, sec, min, hour;
System.out.println ("Please enter the number of seconds");
Scanner user_input = new Scanner (System.in);
a = user_input.nextInt();
while (!user_input.hasNextInt()) {
System.out.println ("Error: INVALID INPUT, please try again");
System.out.println("Please enter the number of seconds");
a = user_input.nextInt();
}
hour = a/3600;
min = ((a%3600)/60);
sec = ((a%3600)%60);
System.out.println(hour + " hours "+ min+ " minutes " + sec + " seconds");
}
}
так что это моя программа. Я только начинаю изучать JAVA, поэтому я старался изо всех сил, но каждый раз, когда я запускаю эту программу, это ничего не дает.
Я вводил число, и ничего не появляется, но программа все еще работает.
Странная вещь .. когда я изменить
!user_input.hasNextInt()
< с 0, это работает, но это не достаточно хорошо для меня, потому что не могу проверить для двойных входов, ни пустых входов.
Если вы определили, что следующее слово не является числом, тогда нет смысла пытаться прочитать число. Я предлагаю сделать 'user_input.nextLine();' –
a% 3600% 60 = a% 60 –
Тогда не используйте 'nextInt' и используйте' nextDouble() 'или' nextLine() ' – nachokk