ayuda

hola necesito una ayudita con este codigo porque no me cuenta las vese que se repite un nombre. yo creo que el error esta en dato=String.parseString(JOptionPane.showInputDialog("digite nombre a buscar en la lista:")); pero me aparece error y no se como se utiliza para un string.
import javax.swing.JOptionPane;

public class buscarNombres {

String info;//lista de numeros enteros
buscarNombres liga;//tipo de dato que estamos creando, apuntador o puntero
buscarNombres cab;

public buscarNombres(String dato,buscarNombres enlace)/*constructor recibe dos parametros
que corresponden a las partes
del nodo, la parte de informacion y la parte de liga*/
{
info=dato;//el dato que llegue se almacena en info
liga=enlace;//la informacion que llegue en enlace se almacena en liga
}

//variables globales que no son atributos propios de la clase
static buscarNombres p,q,t; //apuntadores o punteros

public void crear_inicio()//dato que entra queda de puntero o cab
{
String resp="";
String dato="";
//pedimos dato validado
dato=JOptionPane.showInputDialog("digite numero para la lista:");

cab=new buscarNombres (dato,null);/*llamada al constructor, esto equivale en el algoritmo
a crear(cab), cab.info=dato, cab.liga=null */
resp= JOptionPane.showInputDialog("Mas nombres s/n:");
while(resp.equals("s"))
{
dato="";dato=JOptionPane.showInputDialog("digite numero para la lista:");

q=new buscarNombres (dato,cab);/*llamada al constructor, esto equivale en el algoritmo
a crear(q), q.info=dato, q.liga=cab */
cab=q; //el nuevo dato queda de puntero o cabeza
resp= JOptionPane.showInputDialog("Mas numeros s/n:");

}
}
public void imprimir()//muestra todo el contenido de la lista
{
if (cab==null)//preguntamos si no hay datos en la lista
{
JOptionPane.showMessageDialog(null,"lista no creada o vacia");
}
else
{
q=cab; //se inicializa el puntero q para recorrer la lista
while(q!=null)/*mientras existan datos o sea mientras que el puntero no
sea null*/
{
JOptionPane.showMessageDialog(null,"la lista es:"+q.info); /*imprimir la
informacion contenida en el nodo*/
q=q.liga; //adelantamos a q con la liga hasta llegar a null
}
}
}

public void buscar()
{
String dato="";
if (cab==null){

JOptionPane.showInputDialog(null,"LISTA VACIA O NO EXISTE");

}
else
{
dato=String.parseString(JOptionPane.showInputDialog("digite numero para la lista:"));

int cont=0;
q=cab;
while(q!=null)
{
if (q.info==dato)
{
cont=cont+1;
}
q=q.liga;
}

if(cont==0)
{
JOptionPane.showInputDialog(null,"DATO NO ESTA EN LA LISTA");
}
else
{
JOptionPane.showInputDialog(null,"EL DATO SI SE ENCONTRO EN LA LISTA: "+cont+" veces");
}

}
}

public static void main(String args[])
{
int opcion;//opcion para elegir del menu
buscarNombres objlista; //definimos la variable objlista tipo Nodo, para el objeto

objlista=new buscarNombres("",null);/*creamos el objeto lista, llamando el construc
tor y le mandamos los parametros para dato ""
y para enlace null- datos iniciales*/

do{//comienzo del ciclo mientras
opcion=Integer.parseInt(JOptionPane.showInputDialog("LISTAS \n\t \n\t 1. CREAR POR INICIO \n\t 2. IMPRIMIR \n\t 3. BUSCAR \n\t 4. SALIR"));
switch(opcion)
{
case 1: objlista.crear_inicio();//llamada al metodo crear por inicio
break;
case 2: objlista.imprimir();
break;
case 3: objlista.buscar();
break;

}
}while(opcion<4);//termina el ciclo mientras
}

}

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de JaimeItlzc

String.parseString

Un análisis de una cadena no es muy útil, ya que todas las combinaciones de visible y blanco
fichas son cadenas válidas en Java, por lo tanto, el método parseString no existe. Para la comprobación de las fichas no numérico que debe hacer un GetChars () o getBytes() de la cadena de entrada y recorrer la matriz devuelta.

Imagen de JaimeItlzc

Que pretendes?

Que pretendes hacer una lista enlazada simple o doblemente enlazada?
Puedes optimizar codigo que tienes mucho codigo de mas la verdad.

Saludos.