Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package chap7;
- public class excercise2 {
- private int[] values;
- public ArrayMethods(int[] iniVal) {
- values = iniVal;
- }
- public void swapFirstAndLast()
- {
- int x = values[0];
- int y = values.length;
- values[0] = values[y-1];
- values[y-1] = x;
- }
- public void shiftRight() {
- int shift = values[values.length -1];
- if(values.length >= 2){
- System.arraycopy(values,0,values,1, values.length -1);}
- values[0] = shift;}
- public void evensWithZero(){
- for(int i = 0; i < values.length ; i++){
- if(values[i] % 2 == 0 ){
- values[i] = 0;
- }
- }
- }
- 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];}
- }
- }
- 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 ));}
- 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;}
- }}
- 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;}
- 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;
- }
- 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;}
- 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