Ir para conteúdo
  • 0

[Resolvido] [Duvida]Condição While


Guest Gab's_Light

Pergunta

Guest Gab's_Light

Eu estou com uma duvida, eu quero fazer o seguinte.

O Usuario vai inicializar o programa, e o programa ira informar que sera necessario digitar tal comando/ Ex: CARDAPIO.
E Enquanto Cardapio não for igual ao valor informado por scanner na String y, sempre ira falar "Comando incorreto" mas esta dando loops infinitos, alguem poderia me informar o que tem de errado no meu codigo, e a forma correta de se fazer isso detalhadamente ?!

 

import java.util.Scanner;
import java.util.ArrayList;

public class Array {
     public static void main(String[] args) {
       Scanner s = new Scanner(System.in);
	   
	     String y = s.nextLine();
		     System.out.println("Digite CARDAPIO");
		 
		 while(!"CARDAPIO".equals(y)) {
		     System.out.println("Comando incorreto");
		 }
		     System.out.println("Teste");
	}
}

 

 

Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

public static void main(String[] args)
{
	Scanner s = new Scanner(System.in);
	String y;
	
	System.out.println("Digite CARDAPIO");
 
	while (!"CARDAPIO".equals(y = s.nextLine()))
	{
		System.out.println("Comando incorreto");
	}
	
	System.out.println("Teste");
}

Result

Digite CARDAPIO
xablau
Comando incorreto
hu3
Comando incorreto
'-'
Comando incorreto
CARDAPIO
Teste

Editado por leonardosc
Link para o comentário
Compartilhar em outros sites

Não usa while

public static void startConsole() {
Scanner s = new Scanner(System.in);
String cmd = s.nextLine();
if(cmd.equalsIgnoreCase("cardapio")) {
// ação do comando
} else {
System.out.println("Comando inválido.");
startConsole(); // enquanto o comando não for "cardápio", ele irá mostrar que o comando é inválido e esperar o usuário digitar outro comando novamente.
}
}

@EDIT:

Chame esse metódo no inicio:

public static void main(String[] args) {
startConsole();
}
Editado por zDubsCrazy
Link para o comentário
Compartilhar em outros sites

Tenta usar if.

import java.util.Scanner;
import java.util.ArrayList;

public class Array {
     public static void main(String[] args) {
       Scanner s = new Scanner(System.in);
	   
	     String y = s.nextLine();
		     System.out.println("Digite CARDAPIO");
		 
		 if(!y.equals("CARDAPIO")) {
		     System.out.println("Comando incorreto");
		 }
		     System.out.println("Teste");
	}
}
Link para o comentário
Compartilhar em outros sites

Guest Gab's_Light

Como eu pedi acima, se possivel me detalhe e use comandos simplificados pois estou começando agora, e estou fazendo isso para aprender a usar o While

Link para o comentário
Compartilhar em outros sites

Como eu pedi acima, se possivel me detalhe e use comandos simplificados pois estou começando agora, e estou fazendo isso para aprender a usar o While

O while vai gerar um loop, pra fazer várias checagens. Mais usado em Arrays | HashMap etc...

Usa o if, pra checar se algo1 é igual à algo2.

Exemplo:

 

String x = "Picapau";
String y = "Piruleta";
if(!x.equalsIgnoreCase(y)){
System.out.println("Nao sao iguais.");
}else{
System.out.println("Sao iguais.");
}

y = "Picapau";
if(x.equalsIgnoreCase(y)){
System.out.println("Sao iguais. :D");
}else{
System.out.println("Nao sao iguais.");
}
Editado por Trow_Games
Link para o comentário
Compartilhar em outros sites

Guest Gab's_Light
public static void main(String[] args)
{
	Scanner s = new Scanner(System.in);
	String y;
	
	System.out.println("Digite CARDAPIO");
 
	while (!"CARDAPIO".equals(y = s.nextLine()))
	{
		System.out.println("Comando incorreto");
	}
	
	System.out.println("Teste");
}

Result

Digite CARDAPIO
xablau
Comando incorreto
hu3
Comando incorreto
'-'
Comando incorreto
CARDAPIO
Teste

kkkkkk' valeu

Link para o comentário
Compartilhar em outros sites

Como eu pedi acima, se possivel me detalhe e use comandos simplificados pois estou começando agora, e estou fazendo isso para aprender a usar o While

O "While" quer dizer "enquanto", um exemplo:

boolean b = false;
while(!b) {
// ação para executar enquanto "b" não for "true"
}

Traduzindo o código: " Enquanto 'b' não for verdadeiro, executar isso: "

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...