それぞれの乗客ごとにリンクリストに新しいノードセットを入力します。 例:個々のリンクリストのリンクリストにノードの新しいセットを入力するには
私は、たとえば、Johnと入力します。私は任意の金額を入力することができ、荷物の数については095
:私は入力したフライト番号については
BI:私は入力した国コードについては
。
はのは、私が入力したとしましょう:ジョン、BI、095、3
は、これは私が得るものです:[John with baggage(s) [BI0950, BI0951, BI0952]]
私が欲しいものです。
次に、新しい乗客に入るために「b」を押します。
それから私は、次の乗客のために入力します:ジェーン、BU、096、3
は、これは私が得るものです:私はから古いノード(BI0950、BI0951、BI0952)を削除するにはどうすればよい[John with baggage(s) [BI0950, BI0951, BI0952], Jane with baggage(s) [BI0950, BI0951, BI0952, BU0960, BU0961, BU0962]]
baggage
私が 'b'を押すたびにリンク先リスト( 'b'は新しい乗客を追加する)ですか?
import java.util.*;
public class baggage_system{
static LinkedList<String> baggagex = new LinkedList<String>();
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 nextbg(ListIterator<String> iteratorbg){
return iteratorbg.next();
}
public static LinkedList<String> makeBaggage(String country, String flight, int num){
baggagex.add(country + flight + num);
return baggagex;
}
public static int count(){
System.out.println(baggagex.size());
return baggagex.size();
}
public static void main(String args[]) {
LinkedList<Passenger> passenger = new LinkedList<Passenger>();
LinkedList<String> baggage = new LinkedList<String>();
ListIterator<String> iteratorbg = baggage.listIterator();
LinkedList<String> counting = 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));
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++){
// LinkedList<String> bgg = new LinkedList<String>();
baggage = makeBaggage(country, flight, i);
System.out.println(baggage);
}
LinkedList<String> bgg = new LinkedList<String>(baggage);
passenger.getLast().setBaggages(bgg);
System.out.println(passenger);
/* if(baggage.size() != 0 && baggage.size() > baggage.size() - 1){
for(int j = 0; j < bgg.size(); j++){
baggage.remove(j);
}
*/
// System.out.println(bgg);
/* while (!baggage.isEmpty()) {
baggage.removeFirst();
}
*/
} else if(command.equals("n")){
count();
} else if (command.equals("p")){
System.out.println(baggage.peekFirst());
}
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 = null;
}
public void setBaggages(List<String> baggages) {
this.baggage = baggages;
}
public void pBags(){
}
@Override
public String toString() {
return passengers + " with baggage(s) " + baggage;
}
}
}
こんにちは、どういうわけか、最新のノードしか印刷しません。これは私が手に入れたものです。[手荷物の付いたジョン[BI0952]] –
メソッドが呼び出されるたびに「baggagex」が空になるので、既存のノードが置き換えられます。 –