Foro de elhacker.net

Programación => Java => Mensaje iniciado por: Fastolfe en 15 Marzo 2011, 21:35 pm



Título: Problema programando una agenda
Publicado por: Fastolfe en 15 Marzo 2011, 21:35 pm
Buenas!
Estoy intentado hacer una agenda no muy complicada, pero en el primer método que he hecho me aparece el siguiente error en el primer FileWriter:

- FileWriter cannot be resolved to a type

Código
  1. import java.io.BufferedWriter;
  2.  
  3. public class Contactos {
  4. private String nombre;
  5. private String apellidos;
  6. private int telefono;
  7. private String email;
  8.  
  9. public void agregar(String nombre, String apellidos, int email, int telefono){
  10. FileWriter f = new FileWriter("Agenda.txt");
  11. BufferedWriter files = new BufferedWriter(f);
  12. files.write(nombre + "," + apellidos + "," + telefono + "," + email);
  13. files.close();
  14. }
  15. }

No se cual puede ser la causa del error...


Título: Re: Problema programando una agenda
Publicado por: sapito169 en 16 Marzo 2011, 00:58 am
-respuesta corta no manejas las excepciones estas obligado a usar el bloque try catch cuando los métodos te obligan puedes leer el java doc para comprobar que el método exija ser encerrado entre try catch en caso de que uses el ide lee los mensajes de error ( porque nunca lo hacen) o asle clik al icono de hojito interrogacion esclamacion bicho o algún tipo de botón que este  en la línea resaltada como error (normalmente de color rojo ) para que te escriba el código faltante

-es recomendable que escribas getters y setters y constructor

-es recomendable que sepas que son las excepciones y como se manejan correctamente

-si tienes un método que tenga una función que no tenga ninguna relación con la responsabilidad de la clase y que no llame a ninguna variable global de la propia clase y que además tenga una lista larga de parámetros y que aparte los parámetros tengan mucho que ver eso te grita que es extremadamente probable que no sea un buen diseño o una buena idea en esos casos es mejor que lo saques en una clase aparte y que remplaces la lista de parámetros por un objeto

-tal vez te parezca que es mucho problema programar en varias clases pero notas la gran diferencia cuando quieres cambiar algo y no lo tienes que hacer en 1000 partes diferentes

-la solución propuesta no maneja los errores de forma exhaustiva pero por lo menos lo maneja
Código:
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;

public class EscritorAgenda {

private final BufferedWriter bufferedWriter;
         public static void main(String arg[]) {
EscritorAgenda escritorAgenda = new EscritorAgenda(new File(
"agenda.txt"));
escritorAgenda.escribir(new Agenda("nombre", "apellido", 123456,
"email"));
escritorAgenda.close();
}
public EscritorAgenda(File file) {
try {
bufferedWriter = new BufferedWriter(new FileWriter(file));
} catch (IOException e) {
throw new RuntimeException(e);
}

}



public void escribir(Agenda agenda) {
try {
bufferedWriter.append(agenda.toString());
} catch (IOException e) {
throw new RuntimeException(e);
}
}

public void close() {
try {
if (bufferedWriter != null) {
bufferedWriter.close();
}
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}


Título: Re: Problema programando una agenda
Publicado por: Fastolfe en 17 Marzo 2011, 16:02 pm
Se como manejar excepciones, pero estoy empezando y vengo de C, así que no imaginé que eran absolutamente necesarias... error xD

Estoy usando varias clases, solo que esta era la primera a parte de la principal. Prefiero sin duda usar varias clases, soy de los que dividen los programas en todas las partes posibles xD

Muchas gracias por las recomendaciones!!