Я пишу программу для школьного задания, где я создаю спортивное соревнование. В методе создания участника мы должны выполнить некоторую проверку ввода (не может быть пустой или пустой). Но я не могу заставить его работать. Я сохраняю участника в ArrayList, и участник должен иметь firstname
, lastname
и принадлежать команде.Ошибка ввода данных в класс Person
Я пробовал множество решений здесь, в stackoverflow, но ни один из них не работает. На данный момент я использую Условный еще:
Participant ParticipantArr = new Participant();
String firstNameType = keyboard.nextLine();
System.out.print("Firstname: ");
ParticipantArr.setFirstName(firstNameType);
В Participant.java:
public void setFirstName(String firstName) {
if (firstName == null || firstName.isEmpty()) {
System.out.println("The name is incorrect");
} else {
this.firstName = firstName.substring(0, 1).toUpperCase() + firstName.substring(1).toLowerCase();
}
}
Я также попробовал делать-то время с того же класса участника:
String firstNameType;
do {
System.out.print("Firstname: ");
firstNameType = keyboard.nextLine();
if (firstNameType.trim().isEmpty()) {
System.out.println("The name cannot be empty!");
}
} while (firstNameType.isEmpty() || firstNameType == null);
ParticipantArr.setFirstName(firstNameType);
Я попытался изменить firstNameType == null
на .equals(null)
, но он ничего не меняет.
Редактировать: извините, программа просто добавляет «null» в arraylist как объект или я могу спамить пробел/вводить, пока не будет введено слово. Что является противоположностью того, что я пытаюсь достичь
Что означает «Я не могу заставить его работать» означает «точно»? – Phylogenesis
Каков результат, который вы получите, и какой результат вы хотите. – Jens
Также покажите нам [mcve] – Jens