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

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Ayuda por favor java.lang.NullPointerException
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda por favor java.lang.NullPointerException  (Leído 2,353 veces)
TheZeck

Desconectado Desconectado

Mensajes: 13


Ver Perfil
Ayuda por favor java.lang.NullPointerException
« en: 1 Mayo 2017, 18:04 pm »

Buenas, estaba haciendo este código y me saltó este error, alguno sabe a que se debe?, desde ya no es la primera vez que me pasa. Otras veces me ocurrió lo mismo pero tuve que remover todo el código, ver ese error y no saber porque pasa me saca de quicio, no puedo seguir avanzando en el ejercicio si no logro solucionar eso xD. El ejercicio es este:

Generar una lista de teléfonos. La lista debe ser un objeto que encapsula la matriz de objetos persona, la clase CPersona define los atributos privados nombre, dirección, teléfono relativos a una persona, métodos respectivos que en un menú de opciones permita: añadir, eliminar y buscar en una lista.

El error que me sale es este: Exception in thread "main" java.lang.NullPointerException

 gracias de antemano por la ayuda. 


Código
  1. public class CPersona {
  2.  
  3. private String nombre, telefono, direccion;
  4.  
  5. public CPersona(String nombre,String telefono, String direccion){
  6. this.nombre = nombre;
  7. this.telefono = telefono;
  8. this.direccion = direccion;
  9. }
  10.  
  11. public void setNombre(String nombre){
  12. this.nombre = nombre;
  13. }
  14.  
  15. public void setTelefono(String telefono){
  16. this.telefono = telefono;
  17. }
  18.  
  19. public void setDireccion(String direccion){
  20. this.direccion = direccion;
  21. }
  22.  
  23. public String getNombre(){
  24. return nombre;
  25. }
  26.  
  27. public String getTelefono(){
  28. return telefono;
  29. }
  30.  
  31. public String getDireccion(){
  32. return direccion;
  33. }
  34.  
  35. public static void main(String[] args) {
  36. // TODO Auto-generated method stub
  37.  
  38. }
  39.  
  40. }
  41.  
Código
  1. import java.util.Scanner;
  2.  
  3. public class Lista {
  4. private CPersona[] persona;
  5. private static int cantidad;
  6.  
  7. Lista(){
  8. persona = new CPersona[1000];
  9. cantidad = 0;
  10. }
  11.  
  12. public void anadir(Scanner tecla){
  13. String nombre, telefono, direccion;
  14.  
  15. System.out.println("Ingrese nombre: ");
  16. System.out.println("Ingrese telefono: ");
  17. System.out.println("Ingrese direccion: ");
  18.  
  19. nombre = tecla.nextLine();
  20. telefono = tecla.nextLine();
  21. direccion = tecla.nextLine();
  22.  
  23. if(cantidad == 0){
  24. persona[cantidad].setNombre(nombre);
  25. persona[cantidad].setTelefono(telefono);
  26. persona[cantidad].setDireccion(direccion);
  27. cantidad++;
  28. }
  29.  
  30. boolean entrar = true;
  31. if(cantidad != 0){
  32. for(int i = 0 ; i < cantidad; i++)
  33. if(persona[i].getTelefono().equals(telefono))
  34. entrar = false;
  35.  
  36. if(entrar){
  37. persona[cantidad].setNombre(nombre);
  38. persona[cantidad].setTelefono(telefono);
  39. persona[cantidad].setDireccion(direccion);
  40. cantidad++;
  41. }else{
  42. System.out.println("Este numero ya existe en la lista");
  43. }
  44.  
  45. }
  46.  
  47. }
  48.  
  49.  
  50. public void eliminar(Scanner tecla){
  51. int posicion = buscar(tecla);
  52.  
  53. }
  54.  
  55.  
  56.  
  57. public int buscar(Scanner tecla){
  58.  
  59. int pos = 0;
  60. String telefono;
  61. System.out.println("Ingrese telefono: ");
  62. telefono = tecla.nextLine();
  63.  
  64. do{
  65. pos++;
  66. }while(pos < cantidad && persona[pos].getTelefono().equals(telefono) == false);
  67.  
  68. if(persona[pos].getTelefono().equals(telefono)){
  69. return pos;
  70. }else{
  71. return -1;
  72. }
  73. }
  74.  
  75.  
  76. public static void main(String[] args) {
  77. // TODO Auto-generated method stub
  78. Lista registro = new Lista();
  79.  
  80. Scanner tecla = new Scanner(System.in);
  81. int rpta;
  82. int opcion;
  83.  
  84. do{
  85. System.out.println("1. Añadir: ");
  86. System.out.println("2. Eliminar: ");
  87. System.out.println("3. Buscar: ");
  88.  
  89. opcion = tecla.nextInt();
  90.  
  91. switch(opcion){
  92. case 1:{
  93. registro.anadir(tecla);
  94. break;
  95. }
  96. case 2:{
  97. registro.eliminar(tecla);
  98. break;
  99. }
  100. case 3:{
  101. registro.buscar(tecla);
  102. break;
  103. }
  104. }
  105.  
  106.  
  107. System.out.print("Mostrar las opciones de nuevo 1)si/2)no: ");
  108. rpta = tecla.nextInt();
  109. }while(rpta == 1);
  110.  
  111. }
  112.  
  113. }
  114.  





En línea

HardC0d3

Desconectado Desconectado

Mensajes: 49



Ver Perfil
Re: Ayuda por favor java.lang.NullPointerException
« Respuesta #1 en: 2 Mayo 2017, 00:55 am »

Buenas, no se si lo habrás arreglado ya pero no estás instanciando los objetos de cada posición del vector persona, por eso te salta NullPointerException. Y otra cosa, ¿por qué tienes un método main vacío en la clase CPersona?

Un saludo.


« Última modificación: 2 Mayo 2017, 00:58 am por HardC0d3 » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Solucionado] java.lang.NullPointerException por qué?
Java
Nakatsukasa Itero 0 5,101 Último mensaje 9 Mayo 2012, 21:32 pm
por Nakatsukasa Itero
Validar firma digita error java.lang.NullPointerException
Windows
mauro_ms 0 2,753 Último mensaje 13 Abril 2016, 22:36 pm
por mauro_ms
Error java.lang.Byte cannot be cast to java.lang.Integer
Java
S4ms3pi0l__ 1 3,470 Último mensaje 24 Agosto 2019, 18:25 pm
por ivancea96
java.lang.NullPointerException en funcion para polimeros
Java
juligarc10 1 2,448 Último mensaje 25 Septiembre 2019, 21:13 pm
por rub'n
Ayudaaaaa. Exception in thread "main" java.lang.NullPointerException en java
Java
Ruusa 7 6,818 Último mensaje 26 Junio 2022, 15:14 pm
por rub'n
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines