У меня есть конструтор в который значения я буду вводить с клавиатуры, и например я проверяю переменную waga на значение, переменая должна быть в нужном диапазоне, и проверка здесь работает отлично. Но я хочу проверить еще одну переменную bluetooth, и он должен быть равен только t или n, в противной случае, должно быть поймано исключение. Но сейчас что бы я не вводил у меня выскакивает это исключение, почему так? И еще такой вопрос почему после первого исключение я должен писать scanner.nextLine(), для того что бы оно сьело пустую строку, как она там появляеться?
public KomputerPrzenosny() {
super();
this.waga = scanner.nextDouble();
if (this.waga < 1.2 || this.waga > 3.5)
throw new IllegalArgumentException("Waga musi byc z przedzialu 1.2kg do 3.5kg");
scanner.nextLine();
this.bateria = scanner.nextLine();
this.bluetooth = scanner.nextLine();
if (!this.bluetooth.equals("t") || !this.bluetooth.equals("n"))
throw new IllegalArgumentException("Bluetooth powinien przyjac wartosc: t lub n");
}
!this.bluetooth.equals("t") || !this.bluetooth.equals("n")всегдаtrue. Вероятно вы хотели!this.bluetooth.equals("t") && !this.bluetooth.equals("n")– Roman-Stop RU aggression in UA Aug 02 '21 at 09:42