Професионална програма
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