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);
}
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);
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.
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!!