Мой ответ не синхронизирован и не может запустить N для следующего
Здравствуйте, кто-нибудь может помочь мне с кодом. Есть 2 вопроса.
Для идентификации пассажира я написал 0, затем BI - код страны,095-номер рейса, 01-номер. багажа
а потом, когда я побегу, он скажет::
bi0950
[0 с багажом(багажами) [bi0950]]
1) вопросы: Если я снова введу B и введу детали со следующим пассажиром 1, BI - это код страны,095-номер рейса, 02-номер. багажа.
после того, как я побегу, он скажет::
bi0950 bi0951 [0 with baggage(s) [bi0950, bi0950, bi0951], 1 with baggage(s) [bi0950, bi0950, bi0951]]
Как вы можете видеть, это не так,как пассажир 0 предположим, что у него есть 1 багаж, который является bi0950, пассажир 1 должен быть bi0951, bi0952, но в конце концов, пассажир 0 также затронут.
Вопрос 2:
и следующая строка будет: введите команду B-багаж, n-далее, q-выход
Я вставляю "n" и запускаю, и ошибка выскакивает следующим образом:
java.util.NoSuchElementException at java.util.LinkedList$ListItr.next(Unknown Source) at baggageSys.next(baggageSys.java:43) at baggageSys.main(baggageSys.java:97) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at edu.rice.cs.drjava.model.compiler.JavacCompiler.runCommand(JavacCompiler.java:272)
что-нибудь починить здесь?.. спасибо
Что я уже пробовал:
import java.util.*; public class baggageSys{ public static String getUser_command(){ Scanner keyboard = new Scanner(System.in); System.out.print("Enter command B-baggage, n-next, q-quit"); String s = keyboard.nextLine(); return s; } public static String getUser_flight(){ Scanner keyboard = new Scanner(System.in); System.out.println("Please enter the flight number"); String s = keyboard.nextLine(); return s; } public static String getPassenger(){ Scanner keyboard = new Scanner(System.in); System.out.println("Please enter passenger name"); String s = keyboard.nextLine(); return s; } public static String getUser_country(){ Scanner keyboard = new Scanner(System.in); System.out.println("Please enter the country code"); String s = keyboard.nextLine(); return s; } public static int getUser_number(){ Scanner keyboard = new Scanner(System.in); System.out.println("Please enter number of baggage"); int s = keyboard.nextInt(); return s; } public static String next(ListIterator<passenger> passenger){ String k = ""; passenger.next(); return k; } public static String makeBaggage(String country, String flight, int num){ return country + flight + num; } public static void main(String args[]) { LinkedList<passenger> passenger = new LinkedList<passenger>(); ListIterator<passenger> iterator = passenger.listIterator(); LinkedList<string> baggage = new LinkedList<string>(); String command = ""; while (!command.equals("q")){ command = getUser_command(); if(command.equals("B") || command.equals("b")){ String p = ""; p = getPassenger(); passenger.add(new Passenger(p)); // command = getUser_command(); String country = ""; country = getUser_country(); String flight = ""; flight = getUser_flight(); int amount = 0; amount = getUser_number(); String[] bg = new String[amount]; for(int i = 0; i < amount; i++){ bg[i] = makeBaggage(country, flight, i); baggage.add(bg[i]); System.out.println(bg[i]); passenger.getLast().setBaggages(baggage); } System.out.println(passenger); } else if(command.equals("n")){ next(iterator); }else System.out.println("Enter 'q' to end the program"); } } public static class Passenger { String passengers; List<string> baggage; public Passenger(String passengers) { this.passengers = passengers; baggage = Collections.emptyList(); } public void setBaggages(List<string> baggage) { this.baggage = baggage; } @Override public String toString() { return passengers + " with baggage(s) " + baggage; } } }