Boa noite. Minha dúvida é a seguinte: Eu estava brincando com os códigos para testar o que to aprendendo. Tive um resultado legal, fazendo as coisas de cabeça sem consulta. Só que me bateu uma dúvida. A minha ideia foi simples, usei um “while” para dizer que enquanto eu disse que quero continuar somando o próximo número inserido seria somado ao total anterior e a tela me daria o novo valor. O que eu queria saber é se posso setar pro programa encerrar apenas se eu digitar “n”, já que digitando “y” o programa continua. Sendo assim, quanquer outra letra digitada eu queria que o programa dissesse: “Opção inválida. Digite y/n”
package estudosaleatórios;
import java.util.Scanner;
public class EstudosAleatórios {
public static void main(String[] args) {
Scanner t = new Scanner(System.in);
int x;
int z = 0;
String Y = "y";
String res = Y;
while(res.equals(Y)){
System.out.print("Some um número com o anterior: ");
x=t.nextInt();
z += x;
System.out.println("A soma dos números digitados é: "+z);
System.out.print("Continua? [y/n] ");
res=t.next();
}
}
}
public static final Scanner SCANNER = new Scanner(System.in);
public static void main(String[] args) {
do {
System.out.println("Executou tarefa");
} while(continuar());
System.out.println("Fim");
}
public static boolean continuar() {
while(true) {
System.out.print("Continua? [y/n] ");
res=SCANNER.next(); // acho que é SCANNER.nextLine();
switch(res) {
case "y":
case "Y":
return true;
case "n":
case "N":
return false;
default:
System.out.println("Entrada invalida");
}
}
}
Bom dia, na verdade eu só faria um sistema de if no seu codigo original, acredito que é desnecessário fazer uma classe só pra isso, mas se vc conseguiu isso que importa. vlw ahaha
Muito obrigado a todos. As respostas foram esclarescedoras e com elas tive várias alternativas para resolver isso (a maior parte delas que eu ainda não tinha estudado). Muito obrigado.