Problema com laços

4 respostas
java
F

Galera, boa tarde!

Estou na guerra pra aprender a programar e preciso da ajuda de vocês para entender onde estou errando. O exercicio é o seguinte “Entrar com nomes enquanto forem diferentes de FIM e imprimir cada nome digitado.” o porem é que só posso usar IF’s e laços para poder resolver, pois ainda não cheguei na parte de array. Eu fiz o código abaixo, mas ele só apresenta o primeiro nome e finaliza, mesmo não digitando “fim”. Eu só consigo digitar o primeiro nome e ele já finaliza.

import javax.swing.JOptionPane;

public class Ex05 {

public static void main(String [] args) {

String nome, aux = “”;
do {
		nome = JOptionPane.showInputDialog("Digite uma palavra");
		aux = aux + " " + nome;
	}while(!nome.equals("fim"));		
	JOptionPane.showMessageDialog(null, aux);
}

}

4 Respostas

Francisco_Chaves

Olá amigo, fiz desta forma:

String nome, aux = “”;
boolean valida = false;

do {
				nome = JOptionPane.showInputDialog("Digite uma palavra");
				
				if(nome.equalsIgnoreCase("fim")){  //Fim, fim, FIM
					valida = true;
				}else{
					aux = aux + " " + nome;
				}
				
			}while(!valida);
			
			JOptionPane.showMessageDialog(null, aux);
M

Seu código está funcionando normalmente, testei e funcionou aqui.

D

Você pode usar uma variável auxiliar e concatenar ela na principal e na condição validar somente a auxiliar. Ou verificar os tres últimos caracteres da variável e ver se bate com FIM. Mas o amigo informou que ta funfando.

F

Boa tarde galera,

Então, eu fiquei puto e fechei o eclipse ontem, mais tarde fui abrir e por curiosidade coloquei pra funcionar de novo e o codigo rodou, não faço ideia do que houve. Agradeço muito a ajuda de vocês, eu testei aqui o que me passaram e funcionou também. Valeu mesmo!!

Criado 30 de setembro de 2017
Ultima resposta 1 de out. de 2017
Respostas 4
Participantes 4