Foros del Web » Programación para mayores de 30 ;) » Java »

error nullpointerException :(

Estas en el tema de error nullpointerException :( en el foro de Java en Foros del Web. Hola buenas, estoy haciendo un proyecto pero a la hora de ejecutarlo me salta este error: Exception in thread "main" java.lang.NullPointerException es en la parte ...
  #1 (permalink)  
Antiguo 28/04/2011, 10:06
 
Fecha de Ingreso: febrero-2011
Ubicación: españa
Mensajes: 36
Antigüedad: 13 años, 2 meses
Puntos: 0
Pregunta error nullpointerException :(

Hola buenas, estoy haciendo un proyecto pero a la hora de ejecutarlo me salta este error: Exception in thread "main" java.lang.NullPointerException es en la parte del final en el insertar nodo en el for me da el fallo

Sabrian por que es? es algo del nodo, como que esta mal inicializado o algo,sabrian como es? les pongo el codigo para que lo vean:

import java.io.*;

class NInternal {

Node[] next;
}

class NList {

String w;
NList[] next;
}

class Node {

char c;
NInternal[] i = new NInternal[10];
NList e = new NList();
}

public class Main {

static public char getChar() throws IOException {
char c = (char) System.in.read();
input();
return c;
}

static public void input() throws IOException {
while ((char) System.in.read() != '\n');
}

static public int initNode(Node n, char l) throws IOException {
// Inicializar el nodo a insertar
n.e = null;
n.c = l;
return 0;
}

static public int insertNode(char l, int r, Node root) throws IOException {
// Inicializar el nodo a insertar
Node newNode = new Node();
if (initNode(newNode, l) != 0) {
System.out.println("Fallo al inicializar el Nodo\n");
} else {
// En caso de que sea el primer nodo a insertar.
if (root == null) {
System.out.println("Se va a insertar el nodo raiz \n");
root = newNode;
} else { // Cualquier otro nodo despues del raiz.
}
}
return r;
}

public static void main(String[] args) throws IOException {

char res;
Node root = null;
String s = "";
InputStreamReader input = new InputStreamReader(System.in);
BufferedReader reader = new BufferedReader(input);

do {
System.out.println("Inserte una palabra y pulse ENTER");
try {
s = reader.readLine();
s = s.toLowerCase();
} catch (Exception e) {
}
System.out.println("Escribiste: " + s + "\n");
int n[] = null;
int tam = s.length();
int index = 0;
int max = 0;
char l;
l = s.charAt(index);

char letras[]={'a','b','c','d','e','f','g','h','i','j','k','l', 'm','n','o','p','q','r','s','t','u','v','w','x','y ','z'};


for (int i=0; i<letras.length; i++){
max= contar(s,letras[i]);
if (max>0) {
System.out.println("El texto contiene " + max + " veces la letra " + letras[i]);
}
if (max>index){
l=letras[i];
//index=max;
max=index; // Nos dice cual es la letra mas alta del alfabeto
}
}

System.out.println("La letra mas alta del alfabeto es la "+l+"");

for (index = 0; index <= max; index++) {
if (insertNode((char)n[index],index, root) != 0) {
System.out.println("Se inserto el caracter " + index + " con: " + n[index] + " repeticiones");
}
if (n[index] != 0) {
System.out.println("Cantidad de letras " + index + " en la frase es:" + n[index]);
}
}


System.out.println("Desea insertar otra palabra? S/N");
res = getChar();

} while (res != ('n'));

}

private static int contar(String s, char c) {
return s.replaceAll("[^"+c+"]","").length();
}
}
  #2 (permalink)  
Antiguo 28/04/2011, 10:55
 
Fecha de Ingreso: abril-2011
Ubicación: mexico
Mensajes: 104
Antigüedad: 13 años
Puntos: 10
Respuesta: error nullpointerException :(

Hola amigo.,
has inicializado el arreglo n[] ?
  #3 (permalink)  
Antiguo 28/04/2011, 11:04
 
Fecha de Ingreso: febrero-2011
Ubicación: españa
Mensajes: 36
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: error nullpointerException :(

hola ikki gracias por responder, no, no lo he inicializado el arreglo n[] en el codigo aparece inicializado a null pero esta mal me da error, q cres q esta mal ahi?
  #4 (permalink)  
Antiguo 28/04/2011, 11:09
 
Fecha de Ingreso: abril-2011
Ubicación: mexico
Mensajes: 104
Antigüedad: 13 años
Puntos: 10
Respuesta: error nullpointerException :(

hola,
el mismo n[indeex] intentas obtener un valor donde no hay nada, intenta
inicializarlo y agregarle valores,

Cita:
if (insertNode((char)n[index],index, root) != 0) {
y vemos que pasa
  #5 (permalink)  
Antiguo 28/04/2011, 11:12
 
Fecha de Ingreso: febrero-2011
Ubicación: españa
Mensajes: 36
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: error nullpointerException :(

Cita:
Iniciado por ikki872 Ver Mensaje
hola,
el mismo n[indeex] intentas obtener un valor donde no hay nada, intenta
inicializarlo y agregarle valores,
y vemos que pasa

Perdona mi ignorancia, pero como hago eso? estoy un poco bloqueado
  #6 (permalink)  
Antiguo 28/04/2011, 11:14
 
Fecha de Ingreso: abril-2011
Ubicación: mexico
Mensajes: 104
Antigüedad: 13 años
Puntos: 10
Respuesta: error nullpointerException :(

int [] n = new int[4];
n[0] = 1;
n[1] = 1;
n[2] = 1;
n[3] = 1;

al asi,
  #7 (permalink)  
Antiguo 28/04/2011, 11:20
 
Fecha de Ingreso: febrero-2011
Ubicación: españa
Mensajes: 36
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: error nullpointerException :(

Cita:
Iniciado por ikki872 Ver Mensaje
int [] n = new int[4];
n[0] = 1;
n[1] = 1;
n[2] = 1;
n[3] = 1;

al asi,
mm vale, pero yo lo que quiero hacer es, el programa me lee la palabra, me dice cuantas letras hay de cada letra y luego lo siguiente que quiero hacer, que me da el fallo es, insertar en el nodo, si hago eso q me dices entonces solo insertaria lo que yo habia prefijado no? entiendes mi pregunta?
  #8 (permalink)  
Antiguo 28/04/2011, 11:25
 
Fecha de Ingreso: febrero-2011
Ubicación: españa
Mensajes: 36
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: error nullpointerException :(

Mira este es el enunciado del proyecto, a lo mejor asi entiendes lo que te quiero decir:

Desarrollar un TAD (clase) que implemente un arbol jd. Un arbol jd
- se emplea cuando la información almacenada en los nodos tiene mas
- de una dimensión, en nuestro caso se almacenarán ristras de caracteres
- (alfabeto español), asi las dimensiones seran todos y cada uno de los
- caracteres del alfabeto, y para cada ristra almacenada, el valor de
- cada dimension sera la frecuencia de aparicion de cada caracter. En
- el arbol hay dos tipos de nodos, unos internos, que discriminan para
- la ordenacion y que almacenan el caracter empleado para discriminar y
- un vector de 10 enlaces, correspondiendo a las frecuencias 0 a 9 de
- dicho caracter y un vector de 10 enlaces que apuntan, si es necesario,
- a una lista simplemente encadenada con las palabras almacenadas.
- Nodos de información.
  #9 (permalink)  
Antiguo 28/04/2011, 11:28
 
Fecha de Ingreso: abril-2011
Ubicación: mexico
Mensajes: 104
Antigüedad: 13 años
Puntos: 10
Respuesta: error nullpointerException :(

aaam. pero que intentas obtener con n[index], ?

estas de acuerdo que haciendo eso no te dará nada por que n = null; por eso te muestra un nullpointerException,
  #10 (permalink)  
Antiguo 28/04/2011, 11:43
 
Fecha de Ingreso: febrero-2011
Ubicación: españa
Mensajes: 36
Antigüedad: 13 años, 2 meses
Puntos: 0
Exclamación Respuesta: error nullpointerException :(

Cita:
Iniciado por ikki872 Ver Mensaje
aaam. pero que intentas obtener con n[index], ?

estas de acuerdo que haciendo eso no te dará nada por que n = null; por eso te muestra un nullpointerException,
Sip, estoy deacuerdo, es que n= null; me salta la excepcion esa, y como arreglo eso para que no me salga? lo que quiero es una vez me lea la palabra haga esto por ejemplo:

" ponga una palabra" --> Hola

h= 1;
o=1;
l=1;
a=1;
la letra mas mas alta del alfabeto es la o

Se va a insertar el nodo raiz, y que inserte.

Es que el proyecto tengo dos nodos uno interno y otros externo, el interno tiene un vector de 0-9 que cuenta las veces que se repite un caracter, y el externo apunta a un vector de 10 enlaces que apunta una lista simplemente encadenada donde guarda la palabra que se le ha pasado por teclado. Este ultimo paso del vector q apunta a una lista donde guarda las palabras no se hacerlo, pero estoy intentando hacer eso primero lo de insertar. Entiendes el enunciado de lo que pide?
  #11 (permalink)  
Antiguo 28/04/2011, 12:00
 
Fecha de Ingreso: abril-2011
Ubicación: mexico
Mensajes: 104
Antigüedad: 13 años
Puntos: 10
Respuesta: error nullpointerException :(

en ese caso insertas la o? n[x] veces?
  #12 (permalink)  
Antiguo 28/04/2011, 12:11
 
Fecha de Ingreso: febrero-2011
Ubicación: españa
Mensajes: 36
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: error nullpointerException :(

Cita:
Iniciado por ikki872 Ver Mensaje
en ese caso insertas la o? n[x] veces?
Aver que con la misma te estoy liando ati y ami, te podria mandar una imagen donde lo tengo explicado el funcionamiento, es q por aqui explicartelo es un poco complicado, es para que veas que quiero decir con lo de los nodos y insertar y todo eso. si no te importa claro, mi correo es [email protected] y te la mando.
  #13 (permalink)  
Antiguo 28/04/2011, 12:12
 
Fecha de Ingreso: abril-2011
Ubicación: mexico
Mensajes: 104
Antigüedad: 13 años
Puntos: 10
Respuesta: error nullpointerException :(

ok bueno ya veremos,

Última edición por ikki872; 28/04/2011 a las 12:13 Razón: ok
  #14 (permalink)  
Antiguo 28/04/2011, 12:22
 
Fecha de Ingreso: febrero-2011
Ubicación: españa
Mensajes: 36
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: error nullpointerException :(

Muchas gracias, es casi eso que me has puesto, me gustaria mandarte la imagen si no te importa, y asi la ves por si yo me estoy ekivocando. Gracias
  #15 (permalink)  
Antiguo 28/04/2011, 12:33
 
Fecha de Ingreso: febrero-2011
Ubicación: españa
Mensajes: 36
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: error nullpointerException :(

se puede poner aqui la imagen? para ponerla por aqui y como es si lo sabes
  #16 (permalink)  
Antiguo 28/04/2011, 12:38
 
Fecha de Ingreso: febrero-2011
Ubicación: españa
Mensajes: 36
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: error nullpointerException :(

aqui esta la foto [URL="http://img197.imageshack.us/i/lafoto1r.jpg/"]http://img197.imageshack.us/i/lafoto1r.jpg/[/URL] pica y la ves muchas gracias y perdona por molestarte tanto

Etiquetas: nullpointerexception
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:25.