Advertisement
Ivelin_Arsov

Train - Lists - Upr

Jun 19th, 2020
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.53 KB | None | 0 0
  1. import java.util.ArrayList;
  2. import java.util.List;
  3. import java.util.Scanner;
  4.  
  5. public class Train {
  6.  
  7.     public static void main(String[] args) {
  8.  
  9.         Scanner scan = new Scanner(System.in);
  10.  
  11.         List<Integer> train = readIntList(scan);
  12.  
  13.         int capacity = Integer.parseInt(scan.nextLine());
  14.  
  15.         String input = scan.nextLine();
  16.         while (!"end".equals(input)) {
  17.             String[] tokens = input.split(" ");
  18.             if ("Add".equals(tokens[0])) {
  19.                 int people = Integer.parseInt(tokens[1]);
  20.                 train.add(people);
  21.             } else {
  22.                 int peopleToAdd = Integer.parseInt(tokens[0]);
  23.                 for (int waggon = 0; waggon < train.size(); waggon++) {
  24.                     int sum = train.get(waggon) + peopleToAdd;
  25.                     if (train.get(waggon) + peopleToAdd <= capacity) {
  26.                         train.set(waggon, sum);
  27.                         break;
  28.                     }
  29.                 }
  30.             }
  31.  
  32.             input = scan.nextLine();
  33.         }
  34.         printTrain(train);
  35.     }
  36.  
  37.     private static void printTrain(List<Integer> list) {
  38.         for (Integer element : list) {
  39.             System.out.print(element + " ");
  40.         }
  41.  
  42.     }
  43.  
  44.     private static List<Integer> readIntList(Scanner scan) {
  45.         List<Integer> train = new ArrayList<>();
  46.         String[] input = scan.nextLine().split(" ");
  47.         for (String s : input) {
  48.             train.add(Integer.parseInt(s));
  49.         }
  50.         return train;
  51.     }
  52. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement