Do-while

11 respostas
A
import java.util.Scanner;
public class Leitura {
public static void main(String[] args) {
// crie a variável de leitura dos dados
Scanner s = new Scanner(System.in);
// use os métodos de leitura específicos do tipo desejado
System.out.print("digite uma linha: ");
String linha = s.nextLine(); // le a linha
System.out.print("digite um numero: ");
int i = s.nextInt(); // le um inteiro

if (i==1)
system.out.println("Domingo");
else if(i==2)
system.out.println("Segunda");
}
}

Como faço para colocarum repetição que mande ele digitar o numero enquanto este for <=7. Obs, cada número digitado deve aparecer o dia correspondente (Domingo ou Segunda).

Obrigado

11 Respostas

Mr_Arthur
do {

// seu codigo aqui

} while (i <= 7);
A

ja tentei mas ele fala que a variavel i nao pode ser encontrada

o erro ta apontando aqui

}while (i<=7); // o erro aponta para o i.

Mr_Arthur

cria o i fora do do {} while();

A

ae consegui,

Thanks

Mr_Arthur

:slight_smile:
edita seu primeiro post e põe um [resolvido].

quem sabe ajuda alguem um dia.
valeu.

U

Eu fiz apenas com segunda e terça, mais eu recomendo criar dessa forma.

int i = 0;   
  
while (i > 2)   
{   
	system.out.println("Digite um número de [1] a [2]."));     
	i = s.nextInt();   
  
switch(i)   
{   
        case 1: system.out.println("- Segunda.");   
        break;   
        case 2: system.out.println("- Terça.");
        break;   
        default: system.out.println("Favor digite apenas os números 1 ou 2.");
}   
}
U

Eu alterei a condição do while :slight_smile:

int i = 0;

		while (i <= 0 && i > 2)
		{
		system.out.println("Digite um número de [1] a [2]."));  
                                   i = s.nextInt(); 

		switch(i)
		{
 		case 1: system.out.println("- Segunda.");
   		break;
   		case 2: system.out.println("- Terça.");;
  		break;
   		default: system.out.println("Favor digite apenas os números 1 ou 2.");;
		}
		}
programadora
utroz:
Eu alterei a condição do while :)
int i = 0;

		while (i <= 0 && i > 2)
		{
		system.out.println("Digite um número de [1] a [2]."));  
                                   i = s.nextInt(); 

		switch(i)
		{
 		case 1: system.out.println("- Segunda.");
   		break;
   		case 2: system.out.println("- Terça.");;
  		break;
   		default: system.out.println("Favor digite apenas os números 1 ou 2.");;
		}
		}

Com essa condição que você fez, ele nunca entra no while porque o "i" nunca vai ser menor ou igual a 0 e maior que 2 ao mesmo tempo.

Mr_Arthur
U

É eu troquei os caracteres &&, a qual teria q ser ||, obrigado pelo alerta.

int i = 0;   
  
while (i <= 0 || i > 2)   
{   
system.out.println("Digite um número de [1] a [2]."));     
                                 i = s.nextInt();   
  
switch(i)   
{   
        case 1: system.out.println("- Segunda.");   
        break;   
        case 2: system.out.println("- Terça.");;   
        break;   
        default: system.out.println("Favor digite apenas os números 1 ou 2.");;   
}   
}
WellingtonRamos
utroz:
Eu fiz apenas com segunda e terça, mais eu recomendo criar dessa forma.
int i = 0;

		while (i > 2)
		{
		system.out.println("Digite um número de [1] a [2]."));  
                                   i = s.nextInt(); 

		switch(i)
		{
 		case 1: system.out.println("- Segunda.");
   		break;
   		case 2: system.out.println("- Terça.");;
  		break;
   		default: system.out.println("Favor digite apenas os números 1 ou 2.");;
		}
		}
Se i foi inicializado com zero e a condição do while for i > 2; a condição não será satisfeita e não entrará no loop. Se porventura, fizer uma alteração (i = 3) e entrar, se digitar 0, vai apresentar "Favor digite apenas os números 1 ou 2." e vai sair do loop também ao invés de retornar ao loop.
Criado 9 de fevereiro de 2011
Ultima resposta 9 de fev. de 2011
Respostas 11
Participantes 5