Почему не срабатывает ввод имени второго кота?
package fightClub;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Введите имя первого кота: ");
String nameFirstCat = scanner.nextLine();
System.out.print("Введите вес первого кота: ");
int weigthFirstCat = scanner.nextInt();
Cat firstCat = new Cat();
firstCat.setName(nameFirstCat);
firstCat.setWeigth(weigthFirstCat);
System.out.print("Введите имя второго кота: ");
String nameSecondCat = scanner.nextLine();
System.out.print("Введите вес второго кота: ");
int weigthSecondCat = scanner.nextInt();
Cat secondCat = new Cat();
secondCat.setName(nameSecondCat);
secondCat.setWeigth(weigthSecondCat);
System.out.println(firstCat.getName() + " " +
firstCat.getWeigth());
System.out.println(secondCat.getName() + " " +
secondCat.getWeigth());
}
}
Консоль: Введите имя первого кота: Lory Введите вес первого кота: 5 Введите имя второго кота: Введите вес второго кота: 6 Lory 5 6
Ответы (1 шт):
Автор решения: Михаил Карандин
→ Ссылка
После считывания веса первого кота int weigthFirstCat = scanner.nextInt(); необходимо считать пустую строку, т.е. добавить scanner.nextLine(); тогда все заработает. Можно представить, что после считывания числа сканнером за числом остается невидимый пустой символ, на этой же строчке
P.S. в слове "weigth" опечатка, вес будет "weight"