Что случилось с моим кодом? В принципе, есть меню, и пользователь выбирает номер. После выбора «1» они могут перейти ко второму методу readData и выбрать другой номер. Если они выбирают «2», это работает; однако, если они выбирают «3» (метод bestSeller), я получаю ошибку исключения.Ошибка: Исключение из потока "main" java.lang.NullPointerException
-1
A
ответ
1
В способе Read_Data(...)
вы увеличиваете значение c
(которое вы инициализировали 0
) перед выполнением операций. Вы должны увеличить его в конце while-loop
:
while ((text = readFile.readLine()) != null){
// ... your stuff
// ...
c += 1; // At the end
}
Edit:
В методе displayData(...)
ваш for
инициализации и условие значения не правы. Попробуйте изменить эту строку
for (int i = 1; i <= dc; i++) {
в
for (int i = 0; i < dc; i++) {
Edit 2:
В bestSeller(...)
методе вы j
от повторяется для 0
в 100
(длина массива). Это вызывает исключение, вы можете использовать фактическое количество прочитанных данных.
for (int j = 0; j < sortC - 1; j++) {
for (int k = j + 1; k < sortC; k++) {
С этими изменениями я получаю, для варианта 3 (Bestseller), ожидаемого результат (после изменения значений объема в .txt
)
POP Beatles8 Let It Be 18.0
POP Beatles7 Let It Be 17.0
POP Beatles6 Let It Be 16.0
POP Beatles5 Let It Be 15.0
POP Beatles1 Let It Be 13.0
POP Beatles2 Let It Be 12.0
POP Beatles3 Let It Be 11.0
POP Beatles4 Let It Be 10.0
Смежные вопросы
- 1. «Исключение из потока» main «java.Lang.NullPointerException» Ошибка
- 2. Исключение из потока «main» java.lang.NullPointerException
- 3. Исключение из потока "main" java.lang.ExceptionInInitializerError Причиняется: java.lang.NullPointerException
- 4. Исключение из потока «main» java.lang.NullPointerException - Пакет
- 5. Исключение из потока "main" java.lang.NullPointerException с массивами?
- 6. Java: Исключение из потока «main» java.lang.NullPointerException
- 7. Hadoop - Исключение из потока «main» java.lang.NullPointerException
- 8. ArrayList: Исключение из потока «main» java.lang.NullPointerException
- 9. Исключение из потока «main» java.lang.NullPointerException [java]
- 10. Исключение из потока «main»
- 11. Исключение из потока «main» java.lang.NullPointerException в программе сортировки DVD
- 12. Ошибка в java: Исключение из потока «main»
- 13. Исключение из потока "main" java.lang.NullPointerException в проекте базы данных
- 14. Исключение из потока "main" java.lang.NullPointerException error JDeveloper 12c
- 15. Исключение из потока "main" java.lang.NullPointerException at org.apache.jmeter.engine.StandardJMeterEngine.configure (StandardJMeterEngine.java:176)
- 16. Исключение из потока «main» java.lang.NullPointerException - данные индексирования HBase
- 17. Исключение из потока «main» java.lang.NullPointerException в java.lang.Integer.compareTo (Integer.java:1216)
- 18. Исключение из потока «main» java.lang.NullPointerException amazon web services ec2
- 19. Исключение из потока «Thread - ***» java.lang.NullPointerException
- 20. Ошибка Java: Исключение из потока «main» java.lang.ArrayIndexOutOfBoundsException
- 21. Ошибка: Исключение из потока «main» java.lang.ArrayIndexOutOfBoundsException: -1
- 22. Ошибка: Исключение из потока «main» java.lang.StringIndexOutOfBoundsException
- 23. Исключение из потока «main» java.lang.ArrayIndexOutOfBoundsException: 4 Ошибка
- 24. Исключение из потока «main» java.lang.NoClassDefFoundError:
- 25. Исключение из потока «main» java.lang.InternalError
- 26. Исключение из потока «main» org.openqa.selenium.InvalidSelectorException
- 27. Исключение из потока «main» java.lang.NoClassDefFoundError:
- 28. Исключение из потока «main» java.util.InputMismatchException
- 29. Исключение из потока main ArrayIndexOutOfBoundsException
- 30. ошибка в main: java.lang.NullPointerException
Хорошо, я переехал счетчик на конец и первое значение не является нулевым в методе Best_Seller/bestSeller. Однако метод readData теперь не работает. Я получаю еще одну ошибку исключения. – user2913362
Не могли бы вы предоставить файл, из которого вы читаете данные? – Christian
Я отредактировал свое оригинальное сообщение. – user2913362