Skriv et Java-program Find ud af elevernes karakterer ved hjælp af Switch Case
Java-program til at finde karakteren for en elev ved hjælp af switch case. Her vil vi skrive et Java-program for at finde ud af elevernes karakterer ved hjælp af switch case statement. Nedenstående tabel viser karaktersystemet.
Score i emne | Karakter |
>=90 | A |
80-89 | B |
70-79 | C |
60-69 | D |
50-59 | E |
<50 | F |
Switch-case-sætningen i Java-programmering er en flervejsbeslutning, der tester, om et udtryk matcher en af et antal konstante heltalsværdier, og forgrener sig derefter. To nøgleord er brugt i programmet:- switch og case.
public class Student {
public static void main(String[] args) {
// score (0-100)
int score = 79;
String grade = null;
switch(score/10) {
// for >= 90
case 10:
case 9:
grade = "A";
break;
// for >= 80 and <90
case 8:
grade = "B";
break;
// for >= 70 and <80
case 7:
grade = "C";
break;
// for >= 60 and <70
case 6:
grade = "D";
break;
// for >= 50 and <60
case 5:
grade = "E";
break;
// for < 50
default:
grade = "F";
break;
}
// display result
System.out.println("Grade = " + grade);
}
}
Output:-
Karakter =C
I dette eksempel havde vi taget scoreværdi direkte og fundet karakteren baseret på denne score. Da det kun kontrollerer karakteren for 1 fag, skal scoren være inden for 0-100-intervallet. Pausesøgeordet er obligatorisk, ellers får vi altid karakter =F.
Java-program Find elevernes karakterer ved hjælp af Switch Case og metoder
Lad os nu udvikle et andet Java-program ved hjælp af metoder. Scoreværdien vil blive taget fra slutbrugeren som input, og logikken til at finde karakteren vil blive skrevet i en separat metode. I hovedmetoden vil vi kalde dem og få resultatet.
import java.util.Scanner;
public class Student {
public static String findGrade(int score) {
// check score is within 0-100 or not
if(score < 0 || score > 100)
return "Invalid score"; // or throw exception
// switch-case
switch(score/10) {
// for >= 90
case 10:
case 9:
return "A";
// for >= 80 and <90
case 8:
return "B";
// for >= 70 and <80
case 7:
return "C";
// for >= 60 and <70
case 6:
return "D";
// for >= 50 and <60
case 5:
return "E";
// for < 50
default:
return "F";
}
}
public static void main(String[] args) {
// Create Scanner class object to get input value
Scanner scan = new Scanner(System.in);
// take input for score
System.out.print("Enter score value: ");
int score = scan.nextInt();
// find grade and display result
System.out.println("Grade = " + findGrade(score));
// close Scanner
scan.close();
}
}
Output:-
Indtast scoreværdi:100
Karakter =A
Indtast scoreværdi:92
Karakter =A
Indtast scoreværdi:79
Karakter =C
Indtast scoreværdi:45
Karakter =F
Indtast scoreværdi:115
Karakter =Ugyldig score
I dette program brugte vi ikke pauseerklæringen. Når betingelsen er opfyldt, returneres strengværdien, og kontrollen vendte tilbage til hovedmetoden. Den resterende logik efter udførelsen af denne returerklæring vil ikke blive udført. Men hvis betingelserne ikke er opfyldt, vil standardblokken blive udført, og den returnerer "F" karakter. For scoren mindre end 0 og større end 100 returnerer vi "Invalid Score", men det er bedre at smide en undtagelse.