Професионална програма
Loading...
Tarantula83 avatar Tarantula83 3 Точки

Задача Old Books???

Здравейте колеги!

Някой може ли да каже къде бъркам изобщо не влизам в проверката и не отпечатва нищо!!!

Ето го и кода ми:

import java.util.Scanner;

public class OldBooks {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        String bookName = scanner.nextLine();
        int libraryCapacity = Integer.parseInt(scanner.nextLine());
        int checkBooks = 0;


        while (true) {
            String currentBook = scanner.nextLine();

            if (currentBook.equals(bookName)) {
                System.out.printf("You checked %d books and found it.", checkBooks );
 

            } else if (libraryCapacity == checkBooks) {
                System.out.println("The book you search is not here!");
                System.out.printf("You checked %d books.", checkBooks);


            }
            checkBooks++;
            break;
        }
    }
}

 

Тагове:
-1
Programming Basics
DesislavaGG avatar DesislavaGG 37 Точки
Best Answer
while (true) {
    String currentBook = scanner.nextLine();
    checkBooks++;

    if (currentBook.equals(bookName)) {
        System.out.printf("You checked %d books and found it.", checkBooks-1);
        break;

    } else if (libraryCapacity == checkBooks) {
        System.out.println("The book you search is not here!");
        System.out.printf("You checked %d books.", checkBooks);
        break;

 

Според мен цикъла  трябва да изглежда така

0
11/10/2018 15:34:31
Tarantula83 avatar Tarantula83 3 Точки

Стана не можах да си открия грешката дори и с дебъгера.

0
TeodorStefanovPld avatar TeodorStefanovPld 1278 Точки

е ти с тоя break извън If-a else-a спираш още на първото завъртане какво очакваш да се случи.. може и да пиша с# и да мразя java ама то се вижда от далече... 

имаш само 1 break извън 2те проверки и като ти мине първия цикъл и не е правилната книга и бройката на проверените е по-малко от макс книгите няма да влезеш никъде в проверките защото е логично да е така,но ти ще си счупиш цикъла и до там ще свършиш и програмата ... гледай си малко къде какво слагаш..

колежката просто ти е преместила break-a и е сложила и един в проверката ако откриеш книгата.

проблема не е в debuger-a а в това как си мислиш че действа while цикъла и break :D

0
11/10/2018 16:58:13
Tarantula83 avatar Tarantula83 3 Точки

Точния проблем е че тези който сме Онлайн записани не можахме да гледаме Лекцията защото Софт Уни нямаше интернет.И не можахме да получим отговори на въпросите които зададохме.И да си призная аз лично не схванах как работят тия цикли.И затова сега имам такива проблеми с тия задачи.

0
TeodorStefanovPld avatar TeodorStefanovPld 1278 Точки

ам има записи,има стари обучения.има google има youtube..

човек намира начин,и други учим онлайн,но това не ни спира и не е извинение. Тоя цикъл се разбира точно за 5 мин. А дори тази задача не е нужно да е с него решава се и с for също толкова лесно.

0
DesislavaGG avatar DesislavaGG 37 Точки

Аз съм със статут "присъствено" , но нямах възможност да бъда на тази лекция. Бях гледала лекцията от курса през юни.Ако вие също имате достъп до тези материали може да ги ползвате в такива случаи, на мен ми беше полезно.

0