Fiz o exercício usndo if e else dentro de um while e funcionou, então tentei fazer por switch case, mas estou tento algum erro na lógica do meu programa ao qual ele não reconhece o caso 2 e nem o caso 3, como eu poderia resolver?
import java.util.Scanner; import java.util.Random; public class JogoDaAdivinhacao {
public static void main(String[] args) {
Scanner leitor = new Scanner(System.in);
int numeroCerto = new Random().nextInt(100);
int tentativa = 0;
while (tentativa < 5) {
System.out.println("Digite um valor entre 0 e 100: ");
int valor = leitor.nextInt();
int caso = 0;
tentativa++;
if (valor <= 0 && valor >= 100){
caso = 1;
}
else if (valor == numeroCerto) {
caso = 2;
}
else{
caso = 3;
}
switch (valor) {
case 1:
for (int i = 0; i < 3; i++) {
if (valor > numeroCerto) {
System.out.println("o valor é maior que o número gerado aleatóriamente");
} else {
System.out.println("o valor é menor que o número gerado aleatóriamente");
}
}
break;
case 2:
System.out.println("Acertou, e com o total de " +tentativa + "tentativas você acertou advinhou o número: " + numeroCerto);
break;
case 3:
System.out.println("valor inválido");
break;
}
}
}