Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class ArrayMethods {
- private int[] values;
- public ArrayMethods(int[] initialValues) {
- values = initialValues;
- }
- //part a
- public void swapFirstAndLast() {
- int a = values[0];
- int n = values.length;
- values[0] = values[n-1];
- values[n-1] = a;
- }
- //part b
- public void shiftRight() {
- int temp = values[values.length -1];
- if(values.length >= 2)
- {
- System.arraycopy(values,0,values,1, values.length -1);
- }
- values[0] = temp;
- }
- //part c
- public void evensWithZero(){
- for(int i = 0; i < values.length ; i++){
- if(values[i] % 2 == 0 ){
- values[i] = 0;
- }
- }
- }
- //part d
- public void replaceWithLargestNeighbor(){
- for (int i = 1; i < values.length - 1; i++) {
- if (values[i + 1] > values[i - 1]) {
- values[i] = values[i + 1];
- }
- else if (values[i - 1] > values[i + 1]) {
- values[i] = values[i - 1];
- }
- }
- }
- //part e
- public void removeMiddleElement(){
- int count = values.length ;
- int[] copy;
- if (count % 2 == 0)
- {
- int middle1 = count / 2;
- int middle2 = (count / 2);
- copy = new int[values.length - 2];
- System.arraycopy(values, 0, copy, 0, middle1 - 1);
- System.arraycopy(values, middle2 + 1 , copy, middle2 - 1, middle2 - 1);
- }
- else
- {
- copy = new int[values.length - 1];
- int middle1 = count / 2;
- int middle2 = (count / 2);
- System.arraycopy(values, 0, copy, 0, middle1);
- System.arraycopy(values, middle2 +1, copy, middle2, (count / 2 ));
- }
- }
- //part f
- public void evensToFront(){
- int swapPos = 0;
- for (int i = 0; i < values.length; i++) {
- if (values[i] % 2 == 0) {
- int temp = values[swapPos];
- values[swapPos] = values[i];
- values[i] = temp;
- swapPos += 1;
- }
- }
- }
- //part g
- public static int secondLargestElement(int values[]) {
- int largest = values[0];
- int secondLargest = largest;
- for (int i = 0; i < values.length; i++) {
- if (values[i] > largest) {
- int temp = largest;
- largest = values[i];
- secondLargest = temp;
- }
- }
- return secondLargest;
- }
- //part h
- public static boolean isSorted(int[] values) {
- for (int i = 0; i < values.length - 1; i++) {
- if (values[i] > values[i + 1]) {
- return false;
- }
- }
- return true;
- }
- //part i
- public static boolean hasAdjacentDuplicates(int[] values) {
- for (int i = 0; i < values.length - 1; i++) {
- if (values[i] == values[i + 1]) {
- return true;
- }
- }
- return false;
- }
- // part j
- public static boolean hasDuplicateElements(int[] values) {
- for (int i = 0; i < values.length; i++) {
- for (int j = 0; j < values.length; j++) {
- if (i != j && values[i] == values[j]) {
- return true;
- }
- }
- }
- return false;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment