Guest User

Untitled

a guest
Apr 23rd, 2018
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.56 KB | None | 0 0
  1. package org.eda.practica03.ejercicio02;
  2.  
  3. import java.io.BufferedReader;
  4. import java.io.File;
  5. import java.io.FileReader;
  6. import java.io.FileWriter;
  7. import java.io.PrintWriter;
  8. import java.util.Iterator;
  9. import java.util.Map.Entry;
  10. import java.util.StringTokenizer;
  11. import java.util.TreeMap;
  12. import java.util.TreeSet;
  13.  
  14. public class ProcesarDatos {
  15.  
  16. private TreeMap<Integer,TreeMap<Integer,TreeSet<Integer>>> evaluaciones;
  17.  
  18. public void cargarArchivo(String stringArchivoEntrada) {
  19. this.evaluaciones=new TreeMap<Integer,TreeMap<Integer,TreeSet<Integer>>>();
  20. File archivo=null;
  21. FileReader fr=null;
  22. BufferedReader br=null;
  23.  
  24. try{
  25. archivo=new File(stringArchivoEntrada);
  26. fr=new FileReader(archivo);
  27. br=new BufferedReader(fr);
  28.  
  29. String linea;
  30. while((linea=br.readLine())!=null){
  31. StringTokenizer token=new StringTokenizer(linea);
  32. Integer paciente=Integer.parseInt(token.nextToken());
  33. Integer dias=Integer.parseInt(token.nextToken());
  34. token.nextToken();
  35.  
  36. for(int i=0; i<6; i++){
  37. Integer evaluacion= Integer.parseInt(token.nextToken());
  38. Integer indice=(i*5)+evaluacion;
  39.  
  40. if(this.evaluaciones.get(indice)==null){
  41. this.evaluaciones.put(indice,new TreeMap<Integer,TreeSet<Integer>>());
  42. this.evaluaciones.get(indice).put(paciente,new TreeSet<Integer>());
  43. this.evaluaciones.get(indice).get(paciente).add(dias);
  44.  
  45. }else{
  46. if(this.evaluaciones.get(indice).get(paciente)==null){
  47. this.evaluaciones.get(indice).put(paciente, new TreeSet<Integer>());
  48. this.evaluaciones.get(indice).get(paciente).add(dias);
  49.  
  50. }else{
  51. this.evaluaciones.get(indice).get(paciente).add(dias);
  52. }
  53. }
  54. }
  55. }
  56.  
  57.  
  58. }catch(Exception e){
  59. e.printStackTrace();
  60. }
  61.  
  62. }
  63.  
  64. public int tamano() {
  65.  
  66. return this.evaluaciones.size();
  67. }
  68.  
  69. public void generarArchivoSalida(int freqMin, String archivoSalida) {
  70. File archivo=null;
  71. FileWriter fw=null;
  72. PrintWriter pw=null;
  73.  
  74. try{
  75. archivo=new File(archivoSalida);
  76. fw=new FileWriter(archivo);
  77. pw=new PrintWriter(fw);
  78.  
  79. String[] tipoiosf={"Resp","Coag","Hepa","Cardio","SNC","Ren"};
  80. String resultados="";
  81. for (Iterator <Entry<Integer,TreeMap<Integer,TreeSet<Integer>>>> iterator = this.evaluaciones.entrySet().iterator(); iterator.hasNext();) {
  82. Entry<Integer,TreeMap<Integer,TreeSet<Integer>>> e=iterator.next();
  83. if (e.getValue().size()>= freqMin){
  84. int iosf=e.getKey()/5;
  85. int valor=e.getKey()%5;
  86.  
  87. resultados=resultados+tipoiosf[iosf]+" = "+valor+" | {";
  88.  
  89. int i=0;
  90. for (Iterator<Entry<Integer,TreeSet<Integer>>> iterator2 = e.getValue().entrySet().iterator(); iterator2.hasNext();) {
  91. Entry<Integer,TreeSet<Integer>> paciente=iterator2.next();
  92. if(i>0){
  93. resultados=resultados+", ";
  94. resultados=resultados+""+paciente.getKey()+" = ";
  95. String resultado="[";
  96. Iterator<Integer> it=paciente.getValue().iterator();
  97. if(!it.hasNext()) resultado="{}";
  98. resultado=resultado+it.next();
  99.  
  100.  
  101. while(it.hasNext()){
  102. resultado=resultado+", "+it.next();
  103. }
  104.  
  105. resultado=resultado+"]";
  106. resultados=resultados+resultado;
  107. i++;
  108. }
  109. }
  110. resultados=resultados+"}\n";
  111. }
  112.  
  113. }
  114. pw.print(resultados);
  115. pw.close();
  116.  
  117. }catch(Exception e){
  118. e.printStackTrace();
  119. }finally{
  120. try{
  121. if(null!=fw){
  122. fw.close();
  123. }
  124. }catch(Exception e2){
  125. e2.printStackTrace();
  126. }
  127. }
  128. }
  129.  
  130.  
  131. }
Add Comment
Please, Sign In to add comment