Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class Logica<T extends Comparable> {
- private T[] a;
- private T[] b;
- private T[] u;
- private int indiceUnion = 0;
- public Logica(T[] a, T[] b) {
- this.a = a;
- this.b = b;
- }
- public double getMedia(T[] a1, T[] a2, int i) {
- double ac1 = 0;
- double ac2 = 0;
- int mitad = (a1.length + a2.length);
- // CASO DOUBLE
- if (a1[0] instanceof Double) {
- if (i < a1.length) {
- ac1 = (Double) a1[i] / ((double) a1.length + (double) a2.length);
- u[indiceUnion] = a1[i];
- indiceUnion++;
- }
- if (i < a2.length) {
- ac2 = (Double) a2[i] / ((double) a1.length + (double) a2.length);
- u[indiceUnion] = a2[i];
- indiceUnion++;
- }
- if (i != 0) {
- return ac1 + ac2 + getMedia(a1, a2, i - 1);
- } else {
- return ac1 + ac2;
- }
- } else if (a1[0] instanceof Integer) {
- if (i < a1.length) {
- double temp = (Integer) a1[i];
- ac1 = Double.valueOf(temp / mitad);
- u[indiceUnion] = a1[i];
- indiceUnion++;
- }
- if (i < a2.length) {
- double temp2 = (Integer) a2[i];
- ac2 = Double.valueOf(temp2 / mitad);
- u[indiceUnion] = a2[i];
- indiceUnion++;
- }
- if (i != 0) {
- return ac1 + ac2 + getMedia(a1, a2, i - 1);
- } else {
- return ac1 + ac2;
- }
- } // CASO FLOAT
- else if (a1[0] instanceof Float) {
- if (i < a1.length) {
- Float temp = (Float) a1[i];
- ac1 = (temp / mitad);
- u[indiceUnion] = a1[i];
- indiceUnion++;
- }
- if (i < a2.length) {
- Float temp2 = (Float) a2[i];
- ac2 = Double.valueOf(temp2 / mitad);
- u[indiceUnion] = a2[i];
- indiceUnion++;
- }
- if (i != 0) {
- return ac1 + ac2 + getMedia(a1, a2, i - 1);
- } else {
- return ac1 + ac2;
- }
- } //CASO STRING
- else if (i < a1.length) {
- String first = (String) a1[i];
- ac1 = ((double) first.charAt(0) / mitad);
- u[indiceUnion] = a1[i];
- indiceUnion++;
- }
- if (i < a2.length) {
- String first = (String) a2[i];
- ac2 = ((double) first.charAt(0) / mitad);
- u[indiceUnion] = a2[i];
- indiceUnion++;
- }
- if (i != 0) {
- return ac1 + ac2 + getMedia(a1, a2, i - 1);
- } else {
- return ac1 + ac2;
- }
- }
- public double getMediana(T[] a1,T[] a2){
- return 0;
- }
- private int partition(T[] arr, int low, int high){
- T pivot = arr[high];
- int i = (low -1);
- for(int j=low;j<high;j++){
- if(arr[j].compareTo(pivot)<=0){
- i++;
- T temp = arr[i];
- arr[i] = arr[j];
- arr[j] = temp;
- }
- }
- T temp = arr[i+1];
- arr[i+1] = arr[high];
- arr[high] = temp;
- return i+1;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement