Как инициализировать "hasil", чтобы я мог использовать его в функции переключения? - PullRequest
0 голосов
/ 13 октября 2019

Я делаю программу для суммирования ваших оценок и основ, чтобы определить, к какому классу вы принадлежите, используя if и switch. Но я не могу заставить оператор if работать с оператором switch. В сообщении об ошибке сказано, что «javi-переменная hasil, возможно, не была инициализирована»

Я пытался использовать if else и переключатель

import java.util.Scanner;
import java.util.stream.*;
public class Tugas1 {
    public static void main(String[]args){
        int hasil;
        float rata2;
        System.out.println("Input berapa kali anda ujian : ");
        Scanner input=new Scanner(System.in);
        int n=input.nextInt();
        int[] array1 = new int[n];
        for(int i=0;i<n;i++) {
            System.out.println("Nilai ujian "+(i+1)+" :");
            array1[i] = input.nextInt();
        }
        int sum=IntStream.of(array1).sum();
        rata2=sum/n;
        System.out.println("Jumlah nilai anda : "+sum);
        System.out.println("Rata-rata nilai anda : "+rata2);
        if (rata2<=60) hasil=1;
        else if (rata2<=70) hasil=2;
        else if (rata2<=80) hasil=3;
        else if (rata2<=90) hasil=4;
        else if (rata2<=100) hasil=5;
        switch (hasil){
            case 1:
                System.out.println("Anda masuk kelas A");
                break;
            case 2:
                System.out.println("Anda masuk kelas B");
                break;
            case 3:
                System.out.println("Anda masuk kelas C");
                break;
            case 4:
                System.out.println("Anda masuk kelas D");
                break;
            case 5:
                System.out.println("Anda masuk kelas E");
                break;
            default:
                System.out.println("Anda tidak masuk kelas apapun!");
        }

    }
}

Я ожидаю вывод, например, если rata2 равно <=60, затем hasil = 1, и вывод «Anda masuk kelas A» </p>

1 Ответ

1 голос
/ 13 октября 2019

hasil инициализируется в состоянии if, поэтому, если не выполнено условие if или else if и в вашем случае else также отсутствует, вот причина, по которой вы получаете эту ошибку

так что либо инициализируйте его с помощью некоторого значения по умолчанию (hasil=0), либо инициализируйте hasil внутри else

...