generics assess

PHOTO EMBED

Thu Apr 25 2024 05:33:30 GMT+0000 (Coordinated Universal Time)

Saved by @signup

import java.util.*;

class Array<T extends Comparable<T>> {
    private int size;
    private T[] array;

    public Array(int size) {
        this.size = size;
        array = (T[]) new Comparable[size];
    }

    public void set(int index, T value) {
        array[index] = value;
    }

    public T min() {
        if (size == 0) return null;
        T minVal = array[0];
        for (int i = 1; i < size; i++) {
            if (array[i].compareTo(minVal) < 0) {
                minVal = array[i];
            }
        }
        return minVal;
    }

    public T max() {
        if (size == 0) return null;
        T maxVal = array[0];
        for (int i = 1; i < size; i++) {
            if (array[i].compareTo(maxVal) > 0) {
                maxVal = array[i];
            }
        }
        return maxVal;
    }
}

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("Enter the size of the arrays");
        int size = sc.nextInt();

        Array<Integer> intArray = new Array<>(size);
        Array<Character> charArray = new Array<>(size);
        Array<Double> doubleArray = new Array<>(size);

        System.out.println("Enter the Integer value");
        for (int i = 0; i < size; i++) {
            intArray.set(i, sc.nextInt());
        }

        System.out.println("Enter the Characters");
        for (int i = 0; i < size; i++) {
            charArray.set(i, sc.next().charAt(0));
        }

        System.out.println("Enter the Double value");
        for (int i = 0; i < size; i++) {
            doubleArray.set(i, sc.nextDouble());
        }

        System.out.println("Maximum value in an integer array: " + intArray.max());
        System.out.println("Minimum value in an integer array: " + intArray.min());

        System.out.println("Maximum value in character array: " + charArray.max());
        System.out.println("Minimum value in character array: " + charArray.min());

        System.out.println("Maximum value in double array: " + doubleArray.max());
        System.out.println("Minimum value in double array: " + doubleArray.min());
    }
}
content_copyCOPY