Advertisement
petar088

Untitled

Mar 28th, 2019
155
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.74 KB | None | 0 0
  1. package Fundamentals._13_ExerciseMethods;
  2.  
  3. import java.util.Arrays;
  4. import java.util.Scanner;
  5.  
  6. public class _11_ArrayManipulator {
  7. public static void main(String[] args) {
  8. Scanner scanner = new Scanner(System.in);
  9.  
  10. int [] input = Arrays.stream(scanner.nextLine().split(" "))
  11. .mapToInt(e->Integer.parseInt(e)).toArray();
  12. String metod = scanner.nextLine();
  13. while (!metod.equals("end")) {
  14.  
  15. String[] metodArr = metod.split(" ");
  16. if (metodArr[0].equals("exchange")){
  17. int move = Integer.parseInt(metodArr[1]);
  18. exchange(input,move);
  19. }else if (metodArr[0].equals("max")){
  20.  
  21. maxOddEven(metodArr,input);
  22.  
  23. }else if (metodArr[0].equals("min")){
  24. minOddEven(metodArr,input);
  25. }else if (metodArr[0].equals("first")){
  26. first(metodArr,input);
  27. }else if (metodArr[0].equals("last")) {
  28. last(metodArr,input);
  29. }
  30.  
  31. metod = scanner.nextLine();
  32. }
  33. int count =0;
  34. System.out.print("[");
  35. for (int i = 0; i < input.length; i++) {
  36. if (count==0){
  37. System.out.print(input[i]);
  38. count++;
  39. }else {
  40. System.out.print(", "+input[i]);
  41. }
  42. }
  43. System.out.print("]");
  44. }
  45. public static int [] exchange (int [] input, int move) {
  46. if (move<input.length) {
  47.  
  48. int [] newOne = new int[input.length];
  49. for (int i = 0; i < input.length; i++) {
  50. if (move+i+1<input.length) {
  51. newOne[i] = input[move+i+1];
  52.  
  53. }else {
  54. newOne[i] = input[Math.abs(input.length-(move+1+i))];
  55.  
  56. }
  57.  
  58. }
  59. for (int i = 0; i <input.length ; i++) {
  60. input[i]=newOne[i];
  61. }
  62.  
  63. }else {
  64. System.out.println("Invalid index");
  65. }
  66.  
  67. return input;
  68. }
  69.  
  70.  
  71. public static int maxOddEven (String [] metodArr,int [] input) {
  72. int index = 0;
  73. int maxOdd = Integer.MIN_VALUE;
  74. int maxEven = Integer.MIN_VALUE;
  75. if (metodArr[1].equals("even")){
  76.  
  77. for (int i = 0; i <input.length ; i++) {
  78. if (input[i]%2==0){
  79. if (input[i]>=maxEven){
  80. maxEven=input[i];
  81. index = i;
  82. }
  83. }
  84. }
  85. if ((maxEven==Integer.MIN_VALUE)) {
  86. System.out.println("No matches");
  87. } else {
  88. System.out.println(index);
  89. }
  90. } else {
  91.  
  92. for (int i = 0; i <input.length ; i++) {
  93. if (input[i]%2!=0){
  94. if (input[i]>=maxOdd){
  95. maxOdd=input[i];
  96. index = i;
  97. }
  98. }
  99. }
  100. if ((maxOdd==Integer.MIN_VALUE)) {
  101. System.out.println("No matches");
  102. } else {
  103. System.out.println(index);
  104. }
  105. }
  106.  
  107.  
  108. return index ;
  109. }
  110.  
  111.  
  112. public static int minOddEven (String [] metodArr,int [] input) {
  113. int index = 0;
  114. int minOdd = Integer.MAX_VALUE;
  115. int minEven = Integer.MAX_VALUE;
  116. if (metodArr[1].equals("even")){
  117.  
  118. for (int i = 0; i <input.length ; i++) {
  119. if (input[i]%2==0){
  120. if (input[i]<=minEven){
  121. minEven=input[i];
  122. index = i;
  123. }
  124. }
  125. }
  126. if ((minEven==Integer.MAX_VALUE)) {
  127. System.out.println("No matches");
  128. } else {
  129. System.out.println(index);
  130. }
  131. } else {
  132.  
  133. for (int i = 0; i <input.length ; i++) {
  134. if (input[i]%2!=0){
  135. if (input[i]<=minOdd){
  136. minOdd=input[i];
  137. index = i;
  138. }
  139. }
  140. }
  141. if ((minOdd==Integer.MAX_VALUE)) {
  142. System.out.println("No matches");
  143. } else {
  144. System.out.println(index);
  145. }
  146. }
  147.  
  148.  
  149. return index ;
  150. }
  151.  
  152. public static int first (String [] metoArr,int [] input) {
  153.  
  154. int index = Integer.parseInt(metoArr[1]);
  155. int [] firstFew = new int [index];
  156. int even = 0;
  157. int odd = 0;
  158. if (metoArr[2].equals("even")) {
  159. if (index>input.length) {
  160. System.out.println("Invalid count");
  161. } else {
  162. System.out.print("[");
  163. int count = 0;
  164. for (int i = 0; count<index && i < input.length; i++) {
  165. if (input[i] % 2 == 0) {
  166. if (count==0) {
  167. System.out.print(input[i]);
  168. count++;
  169. } else {
  170. System.out.print(", "+input[i]);
  171. count++;
  172. }
  173.  
  174. }
  175. }
  176. System.out.println("]");
  177.  
  178.  
  179. }
  180.  
  181. }else if (metoArr[2].equals("odd")) {
  182. if (index>input.length) {
  183. System.out.println("Invalid count");
  184. } else {
  185. int count =0;
  186. System.out.print("[");
  187. for (int i = 0; count<index && i < input.length; i++) {
  188. if (input[i] % 2 != 0) {
  189. if (count==0) {
  190. System.out.print(input[i]);
  191. count++;
  192. } else {
  193. System.out.print(", "+input[i]);
  194. count++;
  195. }
  196.  
  197. }
  198. }
  199. System.out.println("]");
  200.  
  201.  
  202. }
  203.  
  204. }
  205. return index;
  206. }
  207.  
  208. public static int last (String [] metoArr,int [] input) {
  209.  
  210. int index = Integer.parseInt(metoArr[1]);
  211. int even = 0;
  212. int odd = 0;
  213. if (metoArr[2].equals("even")) {
  214. if (index>input.length) {
  215. System.out.println("Invalid count");
  216. } else {
  217. System.out.print("[");
  218. int count = 0;
  219. for (int i = input.length-1; count<index && i >= 0; i--) {
  220. if (input[i] % 2 == 0) {
  221. if (count==0) {
  222. System.out.print(input[i]);
  223. count++;
  224. } else {
  225. System.out.print(", "+input[i]);
  226. count++;
  227. }
  228.  
  229. }
  230. }
  231. System.out.println("]");
  232.  
  233.  
  234. }
  235.  
  236. } if (metoArr[2].equals("odd")) {
  237. if (index>input.length) {
  238. System.out.println("Invalid count");
  239. } else {
  240. System.out.print("[");
  241. int count = 0;
  242. for (int i = input.length-1; count<index && i >= 0; i--) {
  243. if (input[i] % 2 != 0) {
  244. if (count==0) {
  245. System.out.print(input[i]);
  246. count++;
  247. } else {
  248. System.out.print(", "+input[i]);
  249. count++;
  250. }
  251.  
  252. }
  253. }
  254. System.out.println("]");
  255.  
  256.  
  257. }
  258.  
  259. }
  260. return index;
  261. }
  262. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement