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