02.Старата Библиотека
Не знам как да реша тази задача:
https://judge.softuni.bg/Contests/Compete/Index/1163#1
Ако някой може да ми помогне... Опитах се, но не можах...
Не знам как да реша тази задача:
https://judge.softuni.bg/Contests/Compete/Index/1163#1
Ако някой може да ми помогне... Опитах се, но не можах...
дай условие, и ако искаш и това което си направил до момента
Ето едно примерно решение : https://pastebin.com/aM2LBryk
https://gist.github.com/AnonimkaBG/f8bbe81c851c3fb88bcd45fe8ea6c064
Това е моето решение.
По принцип ще даде 100 точки в judge , но ако дадеш търсената книга да съвпадне още с първото предположение , counter остава 0 което според мен не е правилно .
Ами правилно е.В програмирането първото завъртане ти е 0 така или иначе почваш да броиш от 0 и после нагоре.
Но и в реалния живот е така. имаш примерно 10 книги пред теб и аз ти казвам дай ми "Под игото".Хващаш първата от купа пред теб и тя е отговора и ми я даваш. Тоест търсил си точно 0 като отделни книги.Ако трябва да прегледаш всичките преди да намериш "Под игото" отговора на counter-a ще е 9 което пак е правилния отговор и в реалния свят и като код.Защото да направиш 10 завъртания на for цикъла почваш от 0 и свършваш на 9.
Да не говорим че тука while цикъл дори не трябва може и с for до mostbooks и спестяваш една проверка. Но и аз принципно си имам антипатия към while(true) циклите
import java.util.*; public class OldLibraryCalculations { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); String nameOfBookWanted = scanner.nextLine(); int libraryCapacity = Integer.parseInt(scanner.nextLine()); String bookInput = ""; int counterOfBooks= 0; while (counterOfBooks <= libraryCapacity && (!bookInput .equalsIgnoreCase(nameOfBookWanted)) ) { bookInput = scanner.nextLine(); counterOfBooks++; } if (!(nameOfBookWanted.equalsIgnoreCase(bookInput))) { System.out.println("The book you search is not here!"); System.out.printf("You checked %d books.", counterOfBooks); } else if (nameOfBookWanted.equalsIgnoreCase(bookInput)) { System.out.printf("You checked %d books and found it.%n",counterOfBooks); } } } Някой може ли да ми каже какъв е дерта на countera на книги тук. Когато откривам книга, ми дава резултат +1 повече отколкото е нужно .При случая , когато не намира книга вс е ок . Мерси :)