Advertisement
desislava_topuzakova

09. Array Modifier

Oct 1st, 2022
605
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.49 KB | None | 0 0
  1. package arrays.exercise;
  2.  
  3. import java.util.Arrays;
  4. import java.util.Scanner;
  5.  
  6. public class ArrayModifier_09 {
  7. public static void main(String[] args) {
  8. Scanner scanner = new Scanner(System.in);
  9. int [] numbers = Arrays.stream(scanner.nextLine().split(" ")).mapToInt(Integer::parseInt).toArray();
  10.  
  11. //повтарящо действие -> въвеждане на команди
  12. //стоп: входни данни == "end"
  13. //продължаваме: входни данни != "end"
  14. String command = scanner.nextLine();
  15. while (!command.equals("end")) {
  16. //валидна команда за изпълнение
  17. //command = "swap 2 3"
  18. //command = "multiply 4 6"
  19. //command = "decrease"
  20. if (command.contains("swap")) {
  21. //"swap {index1} {index2}" -> "swap 2 3".split(" ") -> ["swap", "2", "3"]
  22. int index1 = Integer.parseInt(command.split(" ")[1]); //индексът на първия елемент за размяна
  23. int index2 = Integer.parseInt(command.split(" ")[2]); //индексът на втория елемент за размяна
  24. //1. взимаме елемента на първия индекс
  25. int element1 = numbers[index1];
  26. //2. взимаме елемента на втория индекс
  27. int element2 = numbers[index2];
  28. //3. размяна
  29. numbers[index1] = element2;
  30. numbers[index2] = element1;
  31. } else if (command.contains("multiply")) {
  32. //"multiply {index1} {index2}"
  33. int index1 = Integer.parseInt(command.split(" ")[1]); //индексът на първия елемент за умножение
  34. int index2 = Integer.parseInt(command.split(" ")[2]); //индексът на втория елемент за умножение
  35. //1. взимаме елемента на първия индекс
  36. int element1 = numbers[index1];
  37. //2. взимаме елемента на втория индекс
  38. int element2 = numbers[index2];
  39.  
  40. int product = element1 * element2;
  41. numbers[index1] = product;
  42. } else if (command.equals("decrease")) {
  43. //decrease
  44. //обходим всички елементи -> - 1
  45. //позиции / индекси -> 0 до последния (дължината на масива - 1)
  46. for (int index = 0; index <= numbers.length - 1; index++) {
  47. //текущия елемент -> numbers[index]
  48. //numbers[index]--;
  49. //numbers[index] -= 1;
  50. numbers[index] = numbers[index] - 1;
  51. }
  52. }
  53. command = scanner.nextLine();
  54. }
  55.  
  56. //отпечатваме: ", "
  57.  
  58. for (int index = 0; index <= numbers.length - 1 ; index++) {
  59. int currentNumber = numbers[index];
  60. if (index != numbers.length - 1) {
  61. //не сме на последното число
  62. System.out.print(currentNumber + ", ");
  63. } else { //index == numbers.length - 1
  64. //последното число
  65. System.out.print(currentNumber);
  66. }
  67. }
  68.  
  69. }
  70. }
  71.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement