A continuación, a modo de ejemplo se muestra la estructura general para implementar el diagrama de transiciones del ejemplo anterior.
int estado=1
do{
switch(estado){
case 1:
flujo_salida.writeUTF("Introduce comando (ls/get/exit)");
comando=flujo_entrada.readUTF();
if(comando.equals("ls")){
System.out.println("\tEl cliente quiere ver el contenido del directorio");
// Muestro el directorio
estado=1;
break;
}else
if(comando.equals("get")){
// Voy al estado 3 para mostrar el fichero
estado=3;
break;
}else
estado=1;
break;
case 3://voy a mostrar el archivo
flujo_salida.writeUTF("Introduce el nombre del archivo");
String fichero =flujo_entrada.readUTF();
// Muestor el fichero
estado=1;
break;
}
if(comando.equals("exit")) estado=-1;
}while(estado!=-1);