De acordo com o NetBeans minha Variável declarada double (M) e (A), "não está bem Inicializada"

package pkg10;
import java.util.Scanner;
public class Main {

public static void main(String[] args) {
    Scanner ler = new Scanner(System.in,"ISO-8859-1");
    String nome;
    float n1,n2,n3,media;
    int quant;
    double A, R,I,M,mediaF;
    System.out.println("Diário Online");
    System.out.println("Digite o nome do aluno: ");
    nome = ler.nextLine();
    System.out.println("Digite a primeira nota do aluno: ");
    n1 = Float.parseFloat(ler.nextLine());
    System.out.println("Digite a segunda nota do aluno: ");
    n2 = Float.parseFloat(ler.nextLine());
    System.out.println("Digite a terceira nota do aluno: ");
    n3 = Float.parseFloat(ler.nextLine());
    media = (n1+n2+n3)/3;
    if(media >=7){
        System.out.println("Aluno" + nome + "Aprovado!");
    }else if ((media >=5.1) && (media<=6.9)){
       System.out.println("Aluno" + nome +  "Em recuperação"); 
    }else{
        System.out.println("Aluno" + nome + "Reprovado!");
    }
    System.out.println("Informe a quantidade de alunos que estarão aprovados, de recuperação e reprovados");
    System.out.println("Sendo M para matriculados, A para aprovados R para recuperação e I para reprovados ");
    quant = Integer.parseInt(ler.nextLine());
    switch (quant){
        case 1:
            System.out.println("Informe aqui a quantidade de alunos que foram APROVADOS:  ");
            A = Double.parseDouble(ler.nextLine());
            break;
        case 2:
            System.out.println("Informe aqui a quantidade de alunos que estão de RECUPERAÇÃO:  ");
            R = Double.parseDouble(ler.nextLine());
            break;
        case 3:
            System.out.println("Informe aqui a quantidade de alunos que foram REPROVADOS:  ");
            I = Double.parseDouble(ler.nextLine());
            break;
        case 4: 
            System.out.println("Informe aqui a quantidade de alunos que foram MATRICULADOS nesta turma:  ");
            M = Double.parseDouble(ler.nextLine());
            break;
        default:
            System.out.println("Código Inválido!");
            mediaF = M-A;
            System.out.println("Com base nos dados inseridos a média de aproveitamento desta turma é "+mediaF);
         if (mediaF >= 30 ){
             System.out.println("Esta turma teve um ótimo aproveitamento.");
         }else if ((media >=29) && (media <=21)){
             System.out.println("Esta turma teve um bom aproveitamento.");
         }else{
             System.out.println("Os métodos de ensino desta turma precisam ser revisados, para melhora de aproveitamento.");
         }
    }
}

}

Na verdade ele diz que “a variável pode não ter sido inicializada”. Para corrigir, basta inicializá-las.

double A = 0, R = 0, I = 0 ,M = 0, mediaF = 0;
1 curtida

Uau, tão simples a resposta e eu não sabia kkkk. Super funcionou. Muito obrigada.

1 curtida