我正在制作一个程序来总结你的成绩和基础,并根据它确定你属于哪个类(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
条件下初始化,因此如果没有满足 if
或 else if
条件并且在您的caseelse
也缺失,这就是您收到此错误的原因
因此,要么使用一些默认值(hasil=0
)初始化它,要么在else
内初始化hasil
关于java - 如何初始化 "hasil"以便我可以在 switch 函数中使用它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58364356/