Advertisement
ShSh99

GrainsOfSands

Dec 14th, 2018
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.46 KB | None | 0 0
  1. import java.util.ArrayList;
  2. import java.util.Arrays;
  3. import java.util.List;
  4. import java.util.Scanner;
  5. import java.util.stream.Collectors;
  6.  
  7. public class GrainsOfSands {
  8. public static void main(String[] args) {
  9. Scanner sc = new Scanner(System.in);
  10.  
  11. ArrayList<Integer> list = Arrays.stream(sc.nextLine()
  12. .split(" ")).map(Integer::parseInt)
  13. .collect(Collectors.toCollection(ArrayList::new));
  14.  
  15. String input = sc.nextLine();
  16. while (!input.equals("Mort")){
  17. String[] tokens = input.split(" ");
  18. String command = tokens[0];
  19. int value = Integer.parseInt(tokens[1]);
  20. if(command.equals("Add")){
  21. list.add(value);
  22. }else if(command.equals("Remove")){
  23. if(list.contains(value)){
  24. list.remove(Integer.valueOf(value));
  25. }
  26. else if (value < list.size() && value >= 0){
  27. list.remove(value);
  28. }
  29. }
  30. else if(command.equals("Replace")){
  31. int replacement = Integer.parseInt(tokens[2]);
  32. if(list.contains(value)){
  33. list.set(list.indexOf(value),replacement);
  34. }
  35. }else if(command.equals("Increase")){
  36. int increase = returnBiggerValue(list,value);
  37. if(increase == -1){
  38. value = list.get(list.size()-1);
  39. for (int i = 0; i < list.size(); i++) {
  40. list.set(i,list.get(i)+value);
  41. }
  42. }else {
  43. for (int i = 0; i < list.size(); i++) {
  44. list.set(i,list.get(i) + increase);
  45. }
  46. }
  47.  
  48. }else if(command.equals("Collapse")){
  49. for (int i = 0; i < list.size(); i++) {
  50. if(list.get(i) < value){
  51. list.remove(i);
  52. i--;
  53. }
  54. }
  55. }
  56.  
  57.  
  58. input = sc.nextLine();
  59. }
  60. for (Integer integer : list) {
  61. System.out.print(integer + " ");
  62. }
  63.  
  64. }
  65. private static int returnBiggerValue(List<Integer> nums , int value){
  66. for (int i = 0; i < nums.size(); i++) {
  67. if(nums.get(i) >= value) {
  68. return nums.get(i);
  69. }
  70. }return -1;
  71.  
  72. }
  73. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement