Advertisement
Guest User

Untitled

a guest
Dec 8th, 2019
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.44 KB | None | 0 0
  1.  
  2. public class Logica<T extends Comparable> {
  3.  
  4. private T[] a;
  5. private T[] b;
  6. private T[] u;
  7. private int indiceUnion = 0;
  8.  
  9.  
  10. public Logica(T[] a, T[] b) {
  11. this.a = a;
  12. this.b = b;
  13. }
  14.  
  15. public double getMedia(T[] a1, T[] a2, int i) {
  16.  
  17. double ac1 = 0;
  18. double ac2 = 0;
  19. int mitad = (a1.length + a2.length);
  20.  
  21. // CASO DOUBLE
  22. if (a1[0] instanceof Double) {
  23. if (i < a1.length) {
  24. ac1 = (Double) a1[i] / ((double) a1.length + (double) a2.length);
  25. u[indiceUnion] = a1[i];
  26. indiceUnion++;
  27. }
  28.  
  29. if (i < a2.length) {
  30. ac2 = (Double) a2[i] / ((double) a1.length + (double) a2.length);
  31. u[indiceUnion] = a2[i];
  32. indiceUnion++;
  33. }
  34.  
  35. if (i != 0) {
  36. return ac1 + ac2 + getMedia(a1, a2, i - 1);
  37. } else {
  38. return ac1 + ac2;
  39. }
  40. } else if (a1[0] instanceof Integer) {
  41.  
  42. if (i < a1.length) {
  43. double temp = (Integer) a1[i];
  44. ac1 = Double.valueOf(temp / mitad);
  45. u[indiceUnion] = a1[i];
  46. indiceUnion++;
  47. }
  48.  
  49. if (i < a2.length) {
  50. double temp2 = (Integer) a2[i];
  51. ac2 = Double.valueOf(temp2 / mitad);
  52. u[indiceUnion] = a2[i];
  53. indiceUnion++;
  54. }
  55. if (i != 0) {
  56. return ac1 + ac2 + getMedia(a1, a2, i - 1);
  57. } else {
  58. return ac1 + ac2;
  59. }
  60.  
  61. } // CASO FLOAT
  62. else if (a1[0] instanceof Float) {
  63.  
  64. if (i < a1.length) {
  65. Float temp = (Float) a1[i];
  66. ac1 = (temp / mitad);
  67. u[indiceUnion] = a1[i];
  68. indiceUnion++;
  69. }
  70.  
  71. if (i < a2.length) {
  72. Float temp2 = (Float) a2[i];
  73. ac2 = Double.valueOf(temp2 / mitad);
  74. u[indiceUnion] = a2[i];
  75. indiceUnion++;
  76. }
  77. if (i != 0) {
  78. return ac1 + ac2 + getMedia(a1, a2, i - 1);
  79. } else {
  80. return ac1 + ac2;
  81. }
  82.  
  83. } //CASO STRING
  84. else if (i < a1.length) {
  85. String first = (String) a1[i];
  86. ac1 = ((double) first.charAt(0) / mitad);
  87. u[indiceUnion] = a1[i];
  88. indiceUnion++;
  89. }
  90.  
  91. if (i < a2.length) {
  92. String first = (String) a2[i];
  93. ac2 = ((double) first.charAt(0) / mitad);
  94. u[indiceUnion] = a2[i];
  95. indiceUnion++;
  96. }
  97. if (i != 0) {
  98. return ac1 + ac2 + getMedia(a1, a2, i - 1);
  99. } else {
  100. return ac1 + ac2;
  101. }
  102.  
  103. }
  104.  
  105. public double getMediana(T[] a1,T[] a2){
  106. return 0;
  107. }
  108.  
  109. private int partition(T[] arr, int low, int high){
  110. T pivot = arr[high];
  111. int i = (low -1);
  112. for(int j=low;j<high;j++){
  113. if(arr[j].compareTo(pivot)<=0){
  114. i++;
  115. T temp = arr[i];
  116. arr[i] = arr[j];
  117. arr[j] = temp;
  118.  
  119. }
  120. }
  121. T temp = arr[i+1];
  122. arr[i+1] = arr[high];
  123. arr[high] = temp;
  124.  
  125. return i+1;
  126. }
  127.  
  128. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement