elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


  Mostrar Mensajes
Páginas: 1 2 3 [4] 5 6 7
31  Programación / Java / Re: Meter un Set en un Map en: 7 Marzo 2015, 17:09 pm
vale, perdon por la tonteria, el problema era la raiz del disco c, ahora si me deja...., solo me queda el metodo que ordena y el de leer
32  Programación / Java / Re: Meter un Set en un Map en: 7 Marzo 2015, 16:59 pm
ya he solucionado el problema, estaba en que cuando creaba la provincia creaba un set con valor null y yo pensaba que al poner null era que estaba vacio, ahi tenia el error, ahora solo me queda codificar 3 clases mas, una para guardar en fichero, otra para escribir y otra para ordenar por habitantes o nombre

Código
  1. public boolean guardar(String escritura) {
  2. try{
  3. File fichero = new File (escritura);
  4. FileWriter escribir = new FileWriter (fichero);
  5. for(Map.Entry<String,SortedSet<IPoblacion>> entry: Aprovincias.entrySet()){
  6. escribir.write(entry.getKey() + " " +  entry.getValue());
  7. }
  8. escribir.close();
  9. return true;
  10. }catch(Exception e){
  11. e.printStackTrace();
  12. }
  13. return false;
  14. }
  15.  
  16. @Override
  17. public boolean ordenarPor(String provincia, int ordenarPor) {
  18. // TODO Auto-generated method stub
  19. return false;
  20. }
  21.  
  22. @Override
  23. public boolean recuperar(String arg0) {
  24. // TODO Auto-generated method stub
  25. return false;
  26. }
  27.  
  28.  

al escribir el fichero me dice esto
Código
  1. java.io.FileNotFoundException: c:\prueba.txt (Acceso denegado)
  2. at java.io.FileOutputStream.open(Native Method)
  3. at java.io.FileOutputStream.<init>(Unknown Source)
  4. at java.io.FileOutputStream.<init>(Unknown Source)
  5. at java.io.FileWriter.<init>(Unknown Source)
  6. at AlmacenPoblaciones.guardar(AlmacenPoblaciones.java:276)
  7. at test.main(test.java:26)
  8.  

33  Programación / Java / Re: Meter un Set en un Map en: 4 Marzo 2015, 17:29 pm
La doble negacion se me ha pasado, lo ejecuto todo pero me dice que no puedo añadir la poblacion por que la provincia no existe, y me da otra vez nullpointerexception

Código
  1. public class AlmacenPoblaciones implements IAlmacenPoblaciones {
  2.  
  3. Map<String, SortedSet<IPoblacion>> Aprovincias = new HashMap<String, SortedSet<IPoblacion>>();
  4.  
  5.  
  6. private SortedSet<IPoblacion> getPoblacion(String provincia) {
  7. SortedSet<IPoblacion> poblacion = null;
  8. for(Map.Entry<String, SortedSet<IPoblacion>> entry : Aprovincias.entrySet()) {
  9. if(entry.getKey().equals(provincia))
  10. poblacion = entry.getValue();
  11. }
  12. return poblacion;
  13. }
  14.  
  15. @Override
  16. public boolean addPoblacion(String provincia, IPoblacion poblacion) {
  17. boolean res = false;
  18. if(!Aprovincias.containsKey(provincia)){
  19. res = false;
  20. System.out.println("La Provincia no existe, creela antes de añadir poblacion");
  21. }else{
  22. SortedSet<IPoblacion> sPoblacion = getPoblacion(provincia);
  23. sPoblacion.add(poblacion);                   Aqui es donde me da error y no se por que
  24. Aprovincias.put(provincia, sPoblacion);    Aqui es donde me da error y no se por que
  25. res = true;
  26. }
  27. return res;
  28. }
  29.  
  30.  
  31. @Override
  32. public boolean addProvincia(String provincia) {
  33. SortedSet<IPoblacion> poblaciones = null;
  34. boolean res = false;
  35. if(Aprovincias.containsKey(provincia)){
  36. System.out.println("Ya existe la provincia");
  37. }else{
  38. Aprovincias.put(provincia, poblaciones);
  39. res = true;
  40. }
  41. return res;
  42. }
  43.  
  44. @Override
  45. public boolean containsPoblacion(String provincia, String poblacion) {
  46.  
  47. boolean res = false;
  48. if(!!Aprovincias.containsValue(provincia)){
  49. res = false;
  50. System.out.println("La Provincia no existe, creela antes de eliminar poblacion");
  51. }else{
  52. SortedSet<IPoblacion> sPoblacion = (SortedSet<IPoblacion>) getPoblacion(provincia);
  53. if(sPoblacion.contains(poblacion)){
  54. res = true;
  55. }
  56.  
  57. }
  58. return res;
  59.  
  60. }
  61.  
  62. @Override
  63. public boolean containsPoblacion(String arg0, IPoblacion arg1) {
  64. // TODO Auto-generated method stub
  65. return false;
  66. }
  67.  
  68. @Override
  69. public boolean containsProvincia(String provincia) {
  70. boolean res = false;
  71. if(Aprovincias.containsKey(provincia)){
  72. res = true;
  73. System.out.println("La provincia esta en el almacen");
  74. }else{
  75. System.out.println("La provincia no esta en el almacen");
  76. }
  77. return res;
  78. }


mi metodo main es este

Código
  1. public class test {
  2.  
  3. /**
  4. * @param args
  5. */
  6. public static void main(String[] args) {
  7. // TODO Auto-generated method stu
  8.  
  9. Poblacion poblacion = new Poblacion("Getafe",0,"Madrid");
  10. Poblacion poblacion2 = new Poblacion("Leganes", 345,"Madrid");
  11.  
  12. AlmacenPoblaciones provincias = new AlmacenPoblaciones();
  13. provincias.addProvincia("Madrid");
  14. provincias.addPoblacion("Madrid", poblacion);
  15. provincias.addPoblacion("Madrid", poblacion2);
  16.  
  17. }
  18.  
  19. }
  20.  


y la clase poblacion es tal cual tu me la has escrito mas arriba, puede estar el error en el tipo de objeto que añado? ya que la clase es poblacion y el set tiene ipoblacion
34  Programación / Java / Re: Meter un Set en un Map en: 3 Marzo 2015, 17:49 pm

vale, creo que ya lo he entendido, he codificado el metodo asi:


Código
  1. public boolean addPoblacion(String provincia, IPoblacion poblacion) {
  2. boolean res = false;
  3. if(!!Aprovincias.containsValue(provincia)){
  4. res = false;
  5. System.out.println("La Provincia no existe, creela antes de añadir poblacion");
  6. }else{
  7. SortedSet<IPoblacion> sPoblacion = (SortedSet<IPoblacion>) getPoblacion(provincia);
  8. sPoblacion.add(poblacion);
  9. Aprovincias.put(provincia, sPoblacion);
  10. res = true;
  11. }
  12. return res;
  13. }


pero al hacer un test del programa con este codigo:

Código
  1. public class test {
  2.  
  3. /**
  4. * @param args
  5. */
  6. public static void main(String[] args) {
  7. // TODO Auto-generated method stub
  8.  
  9. Map<String, Set<IPoblacion>> Aprovincias = new HashMap<String, Set<IPoblacion>>();
  10.  
  11. Poblacion poblacion = new Poblacion("Getafe",0,"Madrid");
  12. Poblacion poblacion2 = new Poblacion("Leganes", 345,"Madrid");
  13.  
  14. AlmacenPoblaciones provincias = new AlmacenPoblaciones();
  15. provincias.addProvincia("Madrid");
  16. provincias.addPoblacion("Madrid", poblacion);
  17. //provincias.addPoblacion("Madrid", poblacion2);
  18. }
  19.  
  20. }

me da nullpointer exception en la linea en la que añado la poblacion al Set, el metodo que utilizo para sacar el set lo he codificado asi:
Código
  1. private Set<IPoblacion> getPoblacion(String provincia) {
  2. Set<IPoblacion> poblacion = null;
  3. for(Map.Entry<String, Set<IPoblacion>> entry : Aprovincias.entrySet()) {
  4. if(entry.getKey().equals(provincia))
  5. poblacion = entry.getValue();
  6. }
  7. return poblacion;
  8. }

Creo que el error lo tengo en el tipo de objeto que meto en el Set, pero me hago un lio por que el set tiene objetos de tipo Ipoblacion que es una interfaz que tengo que implementar y lo que yo creo son poblaciones de la clase poblacion que es la clase que queda al implementarse Ipoblacion

[\quote]
35  Programación / Java / Re: Meter un Set en un Map en: 2 Marzo 2015, 10:09 am
hola, gracias por contestar, la primera parte del codigo la entiendo perfectamente, pero la segunda no, no se utilizar el entrySet para agregar provincias al Set y luego meter el Set en el Map
36  Programación / Java / Meter un Set en un Map en: 27 Febrero 2015, 14:43 pm
Hola, necesito crear un almacen de provincias, las cuales a su vez tienen poblaciones asociadas, tiene que hacerse con un map en el que la clave es el nombre de la provincia y el valor un set con las poblaciones, hasta ahi todo bien, el problema lo tengo en añadir las poblaciones al set que no se como hacerlo ya que tengo que pasar por el map antes, tengo esta clase:
Código
  1.  
  2. Map<String, Set<Poblacion>> Aprovincias = new HashMap<String, Set<Poblacion>>();
  3.  
  4. public boolean addPoblacion(String provincia, IPoblacion poblacion) {
  5. boolean res = false;
  6. if(!!Aprovincias.containsValue(provincia)){
  7. res = false;
  8. System.out.println("La Provincia no existe, creela antes de añadir poblacion");
  9. }else{
  10.  
  11. //Aprovincias.put(provincia, );
  12.                        Aqui es donde tengo el problema, ya que no se que hacer
  13. }
  14. return res;
  15. }

37  Programación / Java / Re: pasar un objeto a un objeto, es posible?? en: 13 Marzo 2014, 08:41 am
ya lo arregle y me funciona perfectamente, muchas gracias :)
38  Programación / Java / Re: pasar un objeto a un objeto, es posible?? en: 12 Marzo 2014, 15:11 pm
ya, si ya se que esta mal al pasarlo, pero lo que no me queda claro es como recorrer el array muro e ir accediendo a los 4 parametros de cada elemento, han sido declarados asi
Código
  1. new Muro(new Vector(0, .5),new Vector(.005, .5))
que tengo que hacer refernecia al objeto muro y asu vez a vector?
39  Programación / Java / Re: pasar un objeto a un objeto, es posible?? en: 12 Marzo 2014, 13:28 pm
quiero utilizar este metodo StdDraw.filledRectangle(double,double,double,double) y tengo que pasarle los 4 parametros definidos previamente en cada objeto muro, como lo hago? asi esta mal, ya que paso la referencia StdDraw.filledRectangle(muro);
40  Programación / Java / Re: pasar un objeto a un objeto, es posible?? en: 11 Marzo 2014, 18:41 pm
Mi respuesta a tu pregunta ya está respondida.

Fíjate bien el el "this", yo lo que hice fue hacer un constructor más cómodo. Sin embargo perfectamente podías hacer esto.

Código
  1. new Muro(new Vector(0, .5), new Vector(.005, .5));
  2.  

lo probe y perfecto amigo, muchas gracias, que rapidez a si es genial :)
Páginas: 1 2 3 [4] 5 6 7
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines