re: muxos errores

Lillo
04 de Enero del 1999
hola a todos!!!!

he transcrito un ejercicio de un libro y al compilarlo me da unos cuantos errores.Os pongo el codigo del programa y espero que podais ayudarme.

import java.io.*;
import java.lang.String.*;
public class Test
{
public static int menu()
{
System.out.println("nn");
System.out.println("1. Buscar");
System.out.println("2. Buscar siguiente");
System.out.println("3 Añadir");
System.out.println("4 Eliminar");
System.out.println("5 Salir");
System.out.println();
System.out.println(" Opcion");
int op;

do

op=Leer.datoInt();
while(op<1 || op>5);
return op;
}
public class CPersona
{
private String nombre;
private String direccion;
private String telefono;

public CPersona(){}
public CPersona(String nom,String dir,String tel)
{
nombre=nom;
direccion=dir;
telefono=tel;
}

public void asignarNombre(String nom)
{
nombre=nom;
}

public String obtenerNombre()
{
return nombre;
}

public void asignarDireccion(String dir)
{
direccion=dir;
}

public String obtenerDireccion()
{
return direccion;
}

public void asignarTelefono(String tel)
{
telefono=tel;
}

public String obtenerTelefono()
{
return telefono;
}
}


public class CListaTfnos
{
private CPersona[] listaTelefonos;
private int nElementos;

private void unElementoMas(CPersona[] listaActual)
{
nElementos=listaActual.length;
listaTelefonos=new CPersona[nElementos+1];
for(int i=0;i<nElementos;i++)
listaTelefonos[i]=listaActual[i];
nElementos++;

}

private void unElementoMenos(CPersona[] listaActual)
{
if(listaActual.length==0) return;
int k=0;
nElementos=listaActual.length;
listaTelefonos=new CPersona[nElementos-1];

for(int i=0;i<nElementos;i++)
if(listaActual[i]!=null)
listaTelefonos[k++]=listaActual[i];
nElementos--;
}


public int buscar(String str,int pos)
{
String nom;
if(str==null) return-1;
if(pos<0) pos=0;
for(int i=pos;i<nElementos;i++)
{
nom=listaTelefonos[i].obtenerNombre();
if(nom==null) continue;
if(nom.indexOf(str)>-1)
return 1;
}
return-1;
}

public CPersona valorEn(int i)
{
if(i>=0 && i<nElementos)
return listaTelefonos[i];
else
{
System.out.println("Indice fuera de limites");
return null;
}


}

public int longitud() {return nElementos;}


public boolean eliminar(long tel)
{
for( int i=0;i<nElementos;i++)
if(listaTelefonos[i].obtenerTelefono==tel)
{
listaTelefonos[i]=null;
unElementoMenos(listaTelefonos);
return true;
}

return false;
}

public void añadir(CPersona obj)
{
unElementoMas(listaTelefonos);
ponerValorEn(nElementos-1,obj);

}

public CListaTfnos()
{
nElementos=0;
listaTelefonos=new CPersona[nElementos];


}

public void ponerValorEn(int i,CPersona objeto)
{
if(i>=0&&i<nElementos)
listaTelefonos[i]=objeto;
else
System.out.println("Indice fuera de limites");

}




}




public static void main(String [] args)
{
InputStreamReader isr=new InputStreamReader(System.in);
BufferedReader flujoE=new BufferedReader(isr);
PrintStream flujoS=System.out;
CListaTfnos listatfnos=new CListaTfnos();

int opcion=0,pos=-1;
String cadenabuscar=null;
String nombredirecccion;
String telefono;
boolean eliminado=false;



do
{
try
{

opcion=menu();
switch(opcion)
{
case 1:
flujoS.print("conjunto de caracteres a buscar");
cadenabuscar=flujoE.readLine();
pos=listatfnos.buscar(cadenabuscar,0);

if(pos==-1)
if(listatfnos.longitud()!=0)
flujoS.println("busqueda fallida");
else
flujoS.println("lista vacia");

else
{
flujoS.println(listatfnos.valorEn(pos).obtenerNombre());
flujoS.println(listatfnos.valorEn(pos).obtenerDireccion());
flujoS.println(listatfnos.valorEn(pos).obtenerTelefono());
}
break;

case 2:
pos=listatfnos.buscar(cadenabuscar,pos+1);
if(pos==-1)
if(listatfnos.longitud()!=0)
flujoS.println("Busqueda fallida");

else
flujoS.println("lista vacia");

else
{

flujoS.println(listatfnos.valorEn(pos).obtenerNombre());
flujoS.println(listatfnos.valorEn(pos).obtenerDireccion());
flujoS.println(listatfnos.valorEn(pos).obtenerTelefono());


}
break;

case 3:
flujoS.println("nombre: ");
nombre=flujoE.readLine();
flujoS.println("direccion: ");
direccion=flujoE.readLine();
flujoS.println("telefono: ");
telefono=Leer.datoString();
listatfnos.añadir(new CPersona(nombre,direccion,telefono));
break;

case 4:
flujoS.println("telefono: ");
telefono=Leer.datoString();
eliminado=listatfnos.eliminar(telefono);

if(eliminado)
flujoS.println("registro eliminado");
else if(listatfnos.longitud()!=0)
flujoS.println("telefono no encontrado");
else flujoS.println("lista vacia");
break;

case 5:
listatfnos=null;
}
}
catch(IOException ignorada) {}
}
while(opcion!=5);
}
}


Muxas gracias

Atentamente
Raul (Lillo)

eth0
04 de Enero del 1999
import java.lang.String.*;

¿Comorl? ¿Que ESO lo has copiado de un libro?

Dime cuál es, para saber cuál NO hay que comprar. ;-)