Я пытаюсь разделить количество заказов на количество и наименование товара. Я уже делю список на отдельные строки, а затем пытаюсь разбить строки на «:», чтобы разделить количество и имя. Я знаю, что строки разделены правильно и отображают правильные вещи, а количество отсекается и показывает нормально, но по какой-то причине имя элемента недоступно и выдает исключение java.util.NoSuchElementException при попытке ссылки на него.
Я использовал .split () и теперь перешел на StringTokenizer, но он все еще не работает
for (String item : orderItems) {
StringTokenizer orderTokens = new StringTokenizer(item, ":");
String count = orderTokens.nextToken().trim();
String itemName = orderTokens.nextToken().trim();
В зависимости от ввода, я получаю несколько строк, которые выглядятчто-то вроде: 1: Lamb Korma 3: Open Chicken Sandwich
При отображении количества он работает нормально и даст мне 1 3, но когда я пытаюсь получить доступ к именам, я ожидаю, что он просто отобразит Lamb KormaОткройте Chicken Sandwich, и вместо этого выдается ошибка
2019-10-30 14:09:15.099 14658-14658/com.example.assignment1 E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.assignment1, PID: 14658
java.util.NoSuchElementException
at java.util.StringTokenizer.nextToken(StringTokenizer.java:349)
at com.example.assignment1.activities.MenuFragment.saveOrder(MenuFragment.java:229)
at com.example.assignment1.activities.MenuFragment$1.onClick(MenuFragment.java:158)
at android.view.View.performClick(View.java:7125)
at android.view.View.performClickInternal(View.java:7102)
at android.view.View.access$3400(View.java:801)
at android.view.View$PerformClick.run(View.java:27301)
at android.os.Handler.handleCallback(Handler.java:883)
at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loop(Looper.java:214)
at android.app.ActivityThread.main(ActivityThread.java:7319)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:934)