Como fazer com que o while pare ? {RESOLVIDO}

10 respostas
hackum

Oi! Como faço para fazer com que o while pare. Sendo assim, o usuário digita um valor, como por exemplo -1, e o while terminar sua instrução, mas enquanto isso ele continuar a instrução até que o user digita o valor especificado.

Obrigado.

10 Respostas

wbdsjunior
hackum:
Oi! Como faço para fazer com que o while pare. Sendo assim, o usuário digita um valor, como por exemplo -1, e o while terminar sua instrução, mas enquanto isso ele continuar a instrução até que o user digita o valor especificado. Obrigado.
opcao : inteiro
opcao := 0

enquanto opcao = 0 faca
    escreva "Escolha uma opção"
    escreva "1: Faça alguma coisa"
    escreva "2: Faça alguma outra coisa"
    escreva "0: Saia"
    leia opcao
fim enquanto
F
while( opcao != -1 )
  {
    leOpcao;
    fazOqueTemQFazer;
  }
Natalia_Lima

Vc tbm pode usar o do while, caso queira executar a leitura da opção que o usuario digita antes.

do{
        //lê opcao
    }while(opcao != -1);
Natalia_Lima

.

wbdsjunior
wbdsjunior:
hackum:
Oi! Como faço para fazer com que o while pare. Sendo assim, o usuário digita um valor, como por exemplo -1, e o while terminar sua instrução, mas enquanto isso ele continuar a instrução até que o user digita o valor especificado. Obrigado.
opcao : inteiro
opcao := -1

enquanto opcao <> 0 faca
    escreva "Escolha uma opção"
    escreva "1: Faça alguma coisa"
    escreva "2: Faça alguma outra coisa"
    escreva "0: Saia"
    leia opcao
fim enquanto
corrigido.
hackum

Não compreendi.

E

Sendo sincero, também não compreendi sua duvida, principalmente essa parte:

Como assim, é pra ele parar na hora ou pra ele ir até o fim da intrução, verificar o valor e só então sair?

Me responda o seguinte:
Como você está lendo o valor? Armazena em alguma variável? Você modifica esse valor dentro do while?

Faz o seguinte, posta o código que fica muito mais fácil explicar.

Anime

Oi,

Acho que está falando de validação de dados,segue um exemplo,o programa vai repetir enquanto o usuário não digitar um valor válido.

import java.io.*;
class P41
{
	public static void main(String args[])
	{
		DataInputStream d;
		String s;
		int num=-1;
		try
		{
			while(num<0 || num>10)//condição do laço
			{
				System.out.println("Digite um numero de 0 a 10");
				d=new DataInputStream(System.in);
				s=d.readLine();
				num=Integer.parseInt(s);
				 if (num<0 || num>10)
				 System.out.println("Numero invalido \n");
		    }//Fim do while ( while é fechado com a chave}
		}//Fim do try
		catch(IOException e)
 		{
 			System.out.println("Erro na entrada de dados");
 		}
		catch(NumberFormatException e)
		{
			System.out.println("Erro na entrada de dados");
		}
    }//Fim do main
}//Fim do class
hackum

Pessoal, quero parar o while quando o usuário digitar um valor. Como por exemplo -1. E o while para.

Estou no inicio do do estudo do livro do Java como programar. Portanto usa apenas o while.

Obrigado!

Anime
hackum:
Pessoal, quero parar o while quando o usuário digitar um valor. Como por exemplo -1. E o while para.

Estou no inicio do do estudo do livro do Java como programar. Portanto usa apenas o while.

Obrigado!

Então vc quer validar os dados de entrada,outro exemplo...

import java.io.*;
class P42
{
	public static void main(String args[])
	{
		DataInputStream d;
		String opc="a";
		 	try
		{
			while(!opc.equals("sim") && !opc.equals("nao"))
			{
				System.out.println("Digite sim ou nao");
				d=new DataInputStream(System.in);
				opc=d.readLine();
				opc=opc.toLowerCase();
				if (!opc.equals("sim") && !opc.equals("nao"))
				 System.out.println("Resposta invalida \n");
		    }//Fim do while
		}//Fim do try
		catch(IOException e)
 		{
 			System.out.println("Erro na entrada de dados");
 		}
	}//Fim do main
}//Fim do class

Acho que deve estudar lógica de programação... :wink:

Baixe essa apostila,vai ajuda-lo...[url]http://www.guj.com.br/java/230067-qual-linguagem-estudar-/2[/url]

Criado 24 de janeiro de 2011
Ultima resposta 25 de jan. de 2011
Respostas 10
Participantes 6