отклонить повторяющийся ввод (Java) - PullRequest
0 голосов
/ 20 февраля 2019

новичок здесь.У меня есть код для аукциона, и я хочу иметь возможность отклонить или распечатать ошибку для собаки, которая уже выставлена ​​на аукцион.

private void startAuction() {

    boolean current = false;
    int auctionCount = 1;

    do {
        System.out.println("Dog name: ");
        String dogName = scan.nextLine().toLowerCase().trim();

        if(dogName.isEmpty()) {
            System.out.println("Error: Name can't be empty.");
            continue;           
            }

    for (int i = 0; i < dogs.size(); i++) {
        if (dogName.equals(dogs.get(i).getName())) {
            auction.add(new Auction(dogName));

            System.out.printf(dogName + " has been put up for auction in auction #%d", auctionCount);
            System.out.println();
            auctionCount++;                

            current = true;
            return;

        }else if (auction.get(i).getDogName().equals(dogName)) {
            System.out.print("Error: Dog has already been put up for auction");
        }
    }
        if (current == false) {
            System.out.println("Error: no such dog in the register");

        }

    }while(true);

Остальное работает нормально, за исключением этогоpart:

}else if (auction.get(i).getDogName().equals(dogName)) { System.out.print("Error: Dog has already been put up for auction");

Я не знаю, почему, но он просто игнорирует все дублированные входы.Есть идеи?Спасибо!

1 Ответ

0 голосов
/ 20 февраля 2019

Итератор i предназначен для массива dog, но в «else if» вы используете auction.get (i).Это должно быть dogs.get (i)?

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