Сравнение времени в Java - PullRequest
0 голосов
/ 13 июня 2019

Я просто получаю время в формате ЧЧ: ММ и проверяю, больше ли оно, чем 9:30, тогда счет c увеличивается как 1. Я только что сделал это для времени ввода одного пользователя. Но мне нужно получить несколько раз от пользователяи сравните. Если оно больше 9:30, то увеличьте значения счетчика. Сначала получите значение n, а затем не получите n времени от пользователя. Как я могу изменить свой код, чтобы получить n времени и сравнить это?

Scanner input = new Scanner(System.in);
 String time = input.nextLine();
 System.out.println();
 int c=0;
String time2 = "9:30";
 DateFormat sdf = new SimpleDateFormat("hh:mm");
 Date d1 = sdf.parse(time);
 Date d2 = sdf.parse(time2);
 if(d1.after(d2))
 {
     c++;
}
System.out.println(c);

Ответы [ 2 ]

1 голос
/ 13 июня 2019

Это должно сделать это.Это базовая реализация, вы можете оптимизировать ее так, как вам нравится.

РЕДАКТИРОВАТЬ (с пояснительными комментариями):

Scanner sc = new Scanner(System.in);

// accept user input for N
System.out.println("Enter N");
int n = sc.nextInt();

String time;
int c = 0;

// store the DateFormat to compare the user inputs with
String time2 = "9:30";
DateFormat sdf = new SimpleDateFormat("hh:mm");
Date d2 = null;
try {
    d2 = sdf.parse(time2);
} catch (ParseException e) {
    e.printStackTrace();
}

// iterate for N times, asking for a user input N times.
for (int i = 0; i < n; i++) {
    // get user's input to parse and compare
    System.out.println("Enter Time");
    time = sc.next();
    Date d1 = null;
    try {
        d1 = sdf.parse(time);
    } catch (ParseException e) {
        e.printStackTrace();
    }
    if (d1.after(d2))  {
        c++;
    }
}
System.out.println(c);

Я не сильно изменил ваш код, просто добавил цикли сделал то же самое для N раз.Чтобы процитировать приведенные выше комментарии, «петли - ваш друг».

Надеюсь, это поможет.Удачи.Прокомментируйте, если у вас есть дополнительные вопросы.

1 голос
/ 13 июня 2019

Используйте for loop для перебора списка времени. Кроме того, вам не нужно значение n, вы можете получить его напрямую с помощью list.size()

https://docs.oracle.com/javase/tutorial/java/nutsandbolts/for.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...