O que eu errei no Switch deste código? Ajuda, estou aprendendo!

o Switch está sublinhado e não quer rodar. Está dando erro na linha em que destaquei com negrito.

package Boletim;

import java.util.Scanner;

public class Boletim {

public static void main( String [] args ) {
    int nota1;
    int nota2;
    double media;
    int  quantidade;
    
    Scanner scan = new Scanner ( System.in);
    
    System.out.println ( "Quantas notas deseja informar?" );
    quantidade = scan.nextInt ();
    
    System.out.println ( " Informe a primeira nota: " );
    nota1 = scan.nextInt ();

    System.out.println ( " Informe a segunda nota : " );
    nota2 = scan.nextInt();
    
    media = ( nota1 + nota2) / quantidade;
    
    
    **switch (media) {**
        case "media >= 0  && <= 3": 
            System.out.println ("REPROVADO!!!");
            break;
        default:
            System.out.println  ("APROVADO!!!");
        
            
    }
            
            
    
          
    
}

}

O java só aceita valores absolutos para os cases de um switch, além disso, o valor “switchado” precisa ser do mesmo tipo que os valores verificados nos cases.
Neste caso, especificamente, você verifica um double e o case é uma String…

Boa tarde Bianca,

A resposta é o seguinte:

Cannot switch on a value of type double. Only convertible int values or enum variables are permitted

Sugestão:

 if(media <= 3.0) {
      System.out.println ("REPROVADO!!!");
 }else {
      System.out.println  ("APROVADO!!!");
}

Espero que te ajude.

2 curtidas