import java.util.StringTokenizer;
class Listas
{
public static void main(String A[])
{ ManejaListas ML = new ManejaListas(); }
}
class ManejaListas extends Lectura
{
NodoIndice Inicio = null, ultimo = null;
ManejaListas()
{
LeeFrases();
}
void Almacena(NodoFrase NF)
{
NodoIndice NI = new NodoIndice(NF);
if( Inicio == null)
Inicio = NI;
else
ultimo.Sig = NI;
ultimo = NI;
}
void SeparaFrase(String Linea)
{
NodoFrase NF = null;
StringTokenizer ST = new StringTokenizer(Linea, " ");
NF = new NodoFrase(ST);
Almacena(NF);
}
void LeeFrases()
{
String Linea = " ";
while(Linea.length() != 0)
{
Linea = LeeDato("Teclea una linea: ");
if (Linea.length() != 0)
SeparaFrase(Linea);
}
}
}
class NodoFrase
{
String Dato = "";
NodoFrase Sig = null;
NodoFrase Primero = null;
NodoFrase(String Dato) { this.Dato = Dato; }
NodoFrase(StringTokenizer ST)
{
NodoFrase Ultimo = null, Nuevo = null;
while ( ST.hasMoreTokens())
{
Nuevo = CreaNodo(ST.nextToken());
if (Primero == null)
Primero = Nuevo;
else
Ultimo.Sig = Nuevo;
Ultimo = Nuevo;
}
}
NodoFrase CreaNodo(String Palabra) { return new NodoFrase(Palabra); }
}
class NodoIndice
{
NodoFrase Inicio = null;
NodoIndice Sig = null;
NodoIndice(NodoFrase NF)
{
Inicio = NF.Primero;
}
}