java - 如何初始化 "hasil"以便我可以在 switch 函数中使用它?

标签 java if-statement switch-statement

我正在制作一个程序来总结你的成绩和基础,并根据它确定你属于哪个类(class),使用 if 和 switch。但我似乎无法使 if 语句适用于 switch 语句。错误表示“java 变量 hasil 可能尚未初始化”

我尝试过使用 if else 和 switch

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”

最佳答案

hasil 正在 if 条件下初始化,因此如果没有满足 ifelse if 条件并且在您的caseelse 也缺失,这就是您收到此错误的原因

因此,要么使用一些默认值(hasil=0)初始化它,要么在else内初始化hasil

关于java - 如何初始化 "hasil"以便我可以在 switch 函数中使用它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58364356/

相关文章:

Java 程序逻辑错误。 IF..部分不工作/执行

java - 我正在尝试在 ArrayList 中放置一个标记

java - Eclipse + m2e + junit5 - 已经可能了吗?

java |字符串类型

css - 如何在 smarty 模板引擎中对特定元素使用内联 CSS?

java string.contains 在 switch 语句中

java - 在 Spring 集成上下文中 stub 模拟 bean 中的方法

c - 如何在 C 中比较一个字符串的最后 n 个字符与另一个字符串

java - 我想将摩尔斯电码翻译成文字。还有一个小问题

c# - 嵌套开关?或其他检查不同条件的解决方案?