Pure_Water Posted May 21, 2006 at 01:28 PM Report #28604 Posted May 21, 2006 at 01:28 PM Boas tenho um trab de prog em k usando uma class, leio a informaçao contida num ficheiro (seguindo o padrão <Burro> <Pai> <Mãe>), e entao num ficheir com: Remualdo Cantinflas BembóriaCantinflas Genésio Gentrília Genésio Motifílias Bantífica Gentrília Antuérpio Genuflexília Bembória Ruinaldo Motivacília Ruinaldo Tutitótio Gertrídia Motivacília Bentúrpico Esferícia deverá aparecer no output: Remualdo Cantinflas Genésio Motifílias Bantífica Gentrília Antuérpio Genuflexília Bembória Ruinaldo Tutitótio Gertrídia Motivacília Bentúrpico Esferícia Para o fazer uso um Burro.java ( javadoc ) e uma classe pre-feita BibBurro.class (javadoc ). O meu codigo e este: public static void main(String[] args){ try{ Burro burro = BibBurro.lerFicheiro("Remualdo"); System.out.println(burro.getNome()); imprimir(burro); } catch(FileNotFoundException e){ System.out.println("Erro!"); } catch(IOException e){ System.out.println("Erro!"); } } private static String espacos = " "; private static void imprimir(Burro b) { if(b.getPai()!= null){ System.out.println(espacos + b.getPai().getNome()); espacos += " "; imprimir(b.getPai()); } if(b.getMae()!= null){ espacos = espacos.substring(6); System.out.println(espacos + b.getMae().getNome()); imprimir(b.getMae()); } } E embora alguma parte do output esteja correcta, uma outra parte aparece desalinhada. Alguem sabe como resolver isto? Tia, Pure
Dabubble Posted May 21, 2006 at 04:21 PM Report #28622 Posted May 21, 2006 at 04:21 PM deves imprimir o burro em questao logo. depois o pai e por ai a baixo enquanto houver pais e depois as maes (1º a mae do burro folha) mas a recursao trata-te disso. o metodo deverá entao ser: private static void imprimir(Burro b, String espaçosOffset){ System.out.println(espaçosOffset + b.getNome); String novoEspacosOffset = espacosOffset + espacos; if(b.getPai()!= null){ imprimir(b.getPai() + novoEspacosOffset) } if(b.getMae()!= null){ imprimir(b.getPai() + novoEspacosOffset) } } e inicias a primeira vez com imprimir(burro,"); assim acho que devera funcionar
Pure_Water Posted May 21, 2006 at 05:29 PM Author Report #28639 Posted May 21, 2006 at 05:29 PM Dabubble, brigadão 😄 Ao inicio o teu codigo n funcionou a 100% mas com umas modificaçoes no meu, baseadas no teu ficou a funcionar as mil maravilhas. brigadão serio 😄
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now