Loading...

Във форума е въведено ограничение, което позволява на потребителите единствено да разглеждат публикуваните въпроси.

Dimov79 avatar Dimov79 6 Точки

While exercise: 1. Старата Библиотека

Здравейте, 

искам да помоля за помощ относно следната задача:

  1. Старата Библиотека

Ани отива до родния си град след много дълъг период извън страната. Прибирайки се вкъщи, тя вижда старата библиотека на баба си и си спомня за любимата си книга. Помогнете на Ани, като напишете програма, в която тя въвежда търсената от нея книга (текст) и капацитета на библиотеката(цяло число). Докато Ани не намери любимата си книга или не провери всички книги в библиотеката, програмата трябва да чете всеки път на нов ред името на всяка следваща книга (текст), която тя проверява.

  • Ако не открие книгата да се отпечата на два реда:

  • "The book you search is not here!"

  • "You checked {брой} books."

  • Ако открие книгата си се отпечатва един ред:

    • "You checked {брой} books and found it."

 

Опитвах най различни варианти, това е вариант на този направен в упражнението: 

https://pastebin.com/wuD77BC4

но всеки получавам, следното съобщение: 

 

Exception in thread "main" java.lang.NumberFormatException: For input string: ""
    at java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:68)
    at java.base/java.lang.Integer.parseInt(Integer.java:668)
    at java.base/java.lang.Integer.parseInt(Integer.java:776)
    at com.company.oldHouse.main(oldHouse.java:9)

Process finished with exit code 1

При стартиране на дебъгера се получава същото съобщение. 

Тагове:
0
Programming Basics with Java
velislava.petrova avatar velislava.petrova 2 Точки

Командата на ред 8-ми трябва да бъде String bookName = scanner.nextLine(); . Пропуснал си "Line"

1
03/07/2019 17:02:37
Dimov79 avatar Dimov79 6 Точки

Много ти благодаря Велислава, супер елементарна грешка от моя страна :)

 

1
JohnPlayer avatar JohnPlayer 2 Точки

На 8-ми ред смени next с nextLine. Фактически от String bookName = scanner.next();, трябва да стане String bookName = scanner.nextLine(); Разликата, е че с next, курсора не отива на следващия ред, а input-a ти е няколко реда и програмата гърми. Другия проблем, е че next чете до space и съответно не може да прочете две думи, разделени от space. Виж си Scanner документацията - https://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html

1
03/07/2019 17:44:10
Dimov79 avatar Dimov79 6 Точки

Здравей, 

благодаря ти за отговора, елементарна грешка, понеже излиза автоматично продължението и не съм обърнал внимание, че липсва line след next. 

Благодаря много 

1
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.