0% found this document useful (0 votes)
15 views4 pages

Java Dynamic Array Operations Guide

damn ends

Uploaded by

officialraien
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
15 views4 pages

Java Dynamic Array Operations Guide

damn ends

Uploaded by

officialraien
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd

import [Link].

BufferedReader;
import [Link];
import [Link];

public class DynamicArrayMenu {


private static int[] arr = new int[0]; // start with empty array

// Create new array with given size


private static void createArray(int size, BufferedReader br) throws IOException
{
arr = new int[size];
[Link]("Enter " + size + " elements:");
for (int i = 0; i < size; i++) {
[Link]("Element " + (i + 1) + ": ");
arr[i] = [Link]([Link]());
}
}

// Reset array
private static void resetArray() {
arr = new int[0];
[Link]("Array has been reset (cleared).");
}

// Display array
private static void displayArray() {
if ([Link] == 0) {
[Link]("Array is empty.");
return;
}
[Link]("Array: [");
for (int i = 0; i < [Link]; i++) {
[Link](arr[i]);
if (i < [Link] - 1) [Link](", ");
}
[Link]("]");
}

// (a) Sum of highest odd + highest even


private static void sumOddEven() {
int highestOdd = Integer.MIN_VALUE;
int highestEven = Integer.MIN_VALUE;

for (int num : arr) {


if (num % 2 == 0 && num > highestEven) highestEven = num;
if (num % 2 != 0 && num > highestOdd) highestOdd = num;
}

if (highestOdd == Integer.MIN_VALUE || highestEven == Integer.MIN_VALUE) {


[Link]("Array must contain both odd and even numbers.");
} else {
[Link]("Highest odd number: " + highestOdd);
[Link]("Highest even number: " + highestEven);
[Link]("Sum: " + (highestOdd + highestEven));
}
}

// (b) Display indices of occurrences


private static void findIndices(int value) {
boolean found = false;
[Link]("Element " + value + " found at indices: ");
for (int i = 0; i < [Link]; i++) {
if (arr[i] == value) {
if (found) [Link](", ");
[Link](i);
found = true;
}
}
if (!found) [Link]("none");
[Link]();
}

// (c) Replace all occurrences of a value


private static void replaceAll(int oldValue, int newValue) {
for (int i = 0; i < [Link]; i++) {
if (arr[i] == oldValue) {
arr[i] = newValue;
}
}
displayArray();
}

// (d) Find second largest element (without sorting)


private static void secondLargest() {
int largest = Integer.MIN_VALUE;
int second = Integer.MIN_VALUE;

for (int num : arr) {


if (num > largest) {
second = largest;
largest = num;
} else if (num > second && num != largest) {
second = num;
}
}

if (second == Integer.MIN_VALUE) {
[Link]("No second largest element (array may have
duplicates or be too small).");
} else {
[Link]("Second largest element: " + second);
}
}

// (e) Remove duplicates while preserving order


private static void removeDuplicates() {
int[] temp = new int[[Link]];
int newSize = 0;

for (int i = 0; i < [Link]; i++) {


boolean exists = false;
for (int j = 0; j < newSize; j++) {
if (arr[i] == temp[j]) {
exists = true;
break;
}
}
if (!exists) {
temp[newSize++] = arr[i];
}
}

// copy back into arr


arr = new int[newSize];
for (int i = 0; i < newSize; i++) {
arr[i] = temp[i];
}

displayArray();
}

// Main menu
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader([Link]));
int choice;

do {
[Link]("\n==== Dynamic Array Menu ====");
[Link]("1. Create a new dynamic array");
[Link]("2. Reset (clear) the array");
[Link]("3. Sum of highest odd and even");
[Link]("4. Display indices of element");
[Link]("5. Replace all occurrences of a value");
[Link]("6. Find the second largest element");
[Link]("7. Remove duplicates");
[Link]("8. Display array");
[Link]("9. EXIT");
[Link]("Enter choice: ");
choice = [Link]([Link]());

switch (choice) {
case 1:
[Link]("Enter size of array: ");
int size = [Link]([Link]());
createArray(size, br);
break;
case 2:
resetArray();
break;
case 3:
sumOddEven();
break;
case 4:
[Link]("Enter element to search: ");
int val = [Link]([Link]());
findIndices(val);
break;
case 5:
[Link]("Enter value to replace: ");
int oldVal = [Link]([Link]());
[Link]("Enter new value: ");
int newVal = [Link]([Link]());
replaceAll(oldVal, newVal);
break;
case 6:
secondLargest();
break;
case 7:
removeDuplicates();
break;
case 8:
displayArray();
break;
case 9:
[Link]("Exiting program...");
break;
default:
[Link]("Invalid choice. Try again.");
}
} while (choice != 9);
}
}

You might also like