cami-la / loops-e-arrays

Repositório do curso Estruturas de Repetição e Arrays com Java. Curso este oferecido pela Digital Innovation one e ministrado por mim.
https://web.digitalinnovation.one/home
1.39k stars 351 forks source link

Notas(while) #22

Open milenamorais20 opened 2 years ago

milenamorais20 commented 2 years ago

Olá! Fiz o código um pouco diferente, ele recebe os dados e executa. Porém, fica dando loop. Está correto? Se sim, como eu poderia consertar esse erro?(As aulas do curso estão maravilhosas!)

package br.br.com.exercicios.arrays;

import java.util.Scanner;

public class Nota { public static void main(String[] args) { Scanner scan = new Scanner(System.in);

    int nota;

    System.out.println("Digite uma nota entre 0 e 10: ");
    nota = scan.nextInt();

    while(true){
        switch (nota){
            case 0:
            case 1:
            case 2:
            case 3:
            case 4:
            case 5:
            case 6:
            case 7:
            case 8:
            case 9:
            case 10:
                System.out.println("A nota digitada foi: " + nota);
                break;
            default:
                System.out.println("Nota inválida");
                break;
        }
    }
}

}

cami-la commented 2 years ago

Oi, @milenamorais20. Tudo bem? Primeiramente muito obrigada pelo feedback. <3

Vamos lá: O laço while que você cria com o true, não tem nenhuma condição de parada, por isso está gerando um looping infinito.

Bom, neste exercício, o switch-case não é muito recomendado porque fica um pouco repetitivo. Deixa eu te mostrar uma forma que fica parecido com o que você fez:

public class Main {
  public static void main(String[] args) {
    Scanner scan = new Scanner(System.in);

    System.out.println("Digite uma nota entre 0 e 10: ");
    int nota = scan.nextInt();

    switch (nota) {
      case 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10:
        System.out.println("A nota digitada foi: " + nota);
        break;
      default: System.out.println("Nota inválida");
    }
  }
}

Vê se te ajudei. Caso fique alguma dúvida, pode falar! (: