Do-while

[code]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”);
}
}[/code]

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

do {
// seu codigo aqui
} while (i <= 7);

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.

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

ae consegui,

Thanks

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

quem sabe ajuda alguem um dia.
valeu.

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

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

[quote=utroz]Eu alterei a condição do while :slight_smile:

[code]
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.");;
	}
	}

[/code][/quote]

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.

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

[quote=utroz]Eu fiz apenas com segunda e terça, mais eu recomendo criar dessa forma.

[code]
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.");;
	}
	}

[/code][/quote]
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.