Olá, pessoal!
Estou passando por um fato curioso, quando eu envio todas as entradas de uma vez só no netbeans, para meu programa ele curiosamente só “lê” até uma certa parte, e para justamente onde tem um “readln”, o que ele era para ter lido ele não lê e fica esperando que eu digite novamente, se eu digitar ele funciona tudo lindamente, mas se eu copiar e colar, não funfa!!
Quando eu entro com:
q0 q1 q2 q3 q4 q5 f6 q7/Definicao Maquina Mealy
q0 1 q1 a
q0 0 q7 erro
q1 0 q2 c
q1 1 q7 erro
q2 1 q3 e
q2 0 q7 erro
q3 0 q4 i
q3 1 q7 erro
q4 1 q5 t
q4 0 q7 erro
q5 0 f6 a
q5 1 q7 erro
f6 0 q7 #
f6 1 q7 #
q7 1 q7 #
q7 0 q7 # //Termino da Definicao
q0,inicio q1,meio f2,fim q3,erro //Definicao Maquina Moore
q0 0 q1
q0 1 q3
q1 0 f2
q1 1 q0
f2 1 q3
f2 0 q3
q3 1 q3
q3 0 q3//Termino da definicao e apos ler até aqui ele imprime as máquinas convertidas corretamente, ou seja está tudo funcionando! após isso vem uma especie de loop
s 0
101010
s 1
0100
f
Ele só aceita até “q3 0 q3” e fica esperando que eu digite novamente o s0 e o q está abaixo dele!
Trecho do código:
imprimeMealyConvertida();
System.out.println("$");
// System.out.flush();
do{
option = reader.readLine();
if(option.equals(“s 0”)){
recebeAlfabetoMealy();
System.out.println();
}
else if(option.equals(“s 1”)){
recebeAlfabetoMoore();
System.out.println();
}
} while(!option.equals(“f”));
}
Esse "imprimeMealyConvertida():
public void imprimeMealyConvertida(){
ArrayList EstadoMealy;
EstadoMealy estado;
EstadoMealy = MealyConvertida.getEstados();
for(Iterator it = EstadoMealy.iterator(); it.hasNext();){
estado = it.next();
System.out.println(estado.getNome()+’ ‘+ ‘0’+’ ‘+estado.getEstado0().getNome()+’ ’ +estado.getSaida0());
System.out.println(estado.getNome()+’ ‘+ ‘1’+’ ‘+estado.getEstado1().getNome()+’ ’ +estado.getSaida1());
}
}
Estou muito curioso, tentei dar um system.out.flush(); mas mesmo assim ele continua nao pegando as entradas depois desse. Rodei o Debug com um breakpoint em "option = read.readline() " e realmente ele não lê s0, como deveria, espera eu digita novamente!
Então, só deixando mais claro se precisar que eu coloque mais algum codigo colocarei, o interessante é que está tudo aparentemente certo, porque ele lê toda a entrada até certo ponto e imprime tudo que eu quero, não dá erro nenhum só que ao invéz dele continuar pegando o resto da entrada que eu colei, eu tenho que digitar novamente,pois se eu colar dá erro!
Att