java中 使用switch语句实现学生成绩等级
步骤如下:
package t2;
import java.util.Scanner;
public class test {
public static void main(String[] args) {
for(;;)
{
Scanner input = new Scanner(System.in);
System.out.println("请输入学生的分数:");
double score = input.nextDouble();
int level1,level2;
if(score>=90.0 && score<=100.0){ level1 = 1;}
else if(score>=80.0){ level1 = 2;}
else if(score>=70.0){ level1 = 3;}
else if(score>=60.0){ level1 = 4;}
else{ level1 = 5;}
if(score>=85.0&&score<=100.0){level2 = 1;}
else if(score>=70.0){level2 = 2;}
else if(score>=60.0){level2 = 3;}
else{level2 = 4;}
switch(level1)
{
case 1:
System.out.print("该生的成绩等级是: 优");
break;
case 2:
System.out.print("该生的成绩等级是: 良");
break;
case 3:
System.out.print("该生的成绩等级是: 中");
break;
case 4:
System.out.print("该生的成绩等级是: 及格");
break;
case 5:
System.out.print("该生的成绩等级是: 不及格");
break;
}
switch(level2)
{
case 1:
System.out.println(" A ");
break;
case 2:
System.out.println(" B ");
break;
case 3:
System.out.println(" C ");
break;
case 4:
System.out.println(" D ");
break;
}
}
}
}
结果:
拓展资料
JAVA抽象类:规定一个或多个抽象方法的类别本身必须定义为abstract,抽象类只是用来派生子类,而不能用它来创建对象。
final类:又称“最终类”,它只能用来创建对象,而不能被继承,与抽象类刚好相反,而且抽象类与最终类不能同时修饰同一个类。
#include <stdio.h>
int main()
{
double score;
int nKey;
while (scanf_s("%lf", &score) == 1)
{
if (score < 0 || score > 100)
{
printf("请输入0-100范围内的分数\n");
continue;
}
nKey = (int)score / 10;
switch (nKey)
{
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:
printf("E\n");
break;
case 6:
printf("D\n");
break;
case 7:
printf("C\n");
break;
case 8:
printf("B\n");
break;
case 9:
case 10:
printf("A\n");
break;
default:
break;
}
}
return 0;
}
扩展资料:
switch用法
一般形式:
switch(表达式){
case 常量表达式1: 语句1;
case 常量表达式2: 语句2;
…
case 常量表达式n: 语句n;
default: 语句n+1;
}
意思是先计算表达式的值,再逐个和case 后的常量表达式比较,若不等则继续往下比较,若一直不等,则执行default后的语句;若等于某一个常量表达式,则从这个表达式后的语句开始执行,并执行后面所有case后的语句。
与if语句的不同:If语句中若判断为真则只执行这个判断后的语句,执行完就跳出if语句,不会执行其他if语句;而switch语句不会在执行判断为真后的语句之后跳出循环,而是继续执行后面所有case语句。
在每一case语句之后增加break 语句,使每一次执行之后均可跳出switch语句,从而避免输出不应有的结果。
参考资料来源:switch-百度百科
[java] view plain copy
import java.util.Scanner;
public class Text3 {
public static void main(String[] args){
System.out.println("请输入成绩");
Scanner a = new Scanner(System.in);
int a1= a.nextInt();
switch (a1/10) {
case 10:
case 9:
System.out.print("A");
break;
case 8:
System.out.println("B");
break;
case 7:
System.out.println("C");
break;
case 6:
System.out.println("D");
default:
System.out.println("E");
break;
}
a.close();
}
}
拓展资料:
switch语句只能进行等值判断,而且如果满足条件没有break的话,程序会继续继续执行下一条语句,直到遇到break跳出程序,或者将整个判断遍历一遍。
case 100:
case 99:
...
case 90:
System.out.println("A");
break;
case 89:
case 88:
...
case 80:
System.out.println("B");
break;
...
}
public static void main(String[] args){ System.out.println("请输入分数:");
Scanner input=new Scanner(system.in);
int i=input.nextInt();
i=i/10;
switch(i){ case 10: case 9: System.out.println("A"); break;
case 8: System.out.println("B"); break;
case 7: System.out.println("C"); break;
case 6: System.out.println("D"); break; default: if(i>=0&& i<=10){System.out.println("E"); }else{ System.out.println("输入的数不是有效分数"); }
break; } } 或者 switch (i) { case 100: case 90:
System.out.println("分数是" + i + " 等级为A"); break;
case 80: System.out.println("分数是" + i + " 等级为B"); break;
case 70: System.out.println("分数是" + i + " 等级为C");
case 60:System.out.println("分数是" + i + " 等级为D");
default: if(i>=0&& i<=10){ System.out.println("分数是" + i + " 等级为E");
}else{System.out.println("输入的数不是有效分数"); }break; }