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类:又称“最终类”,它只能用来创建对象,而不能被继承,与抽象类刚好相反,而且抽象类与最终类不能同时修饰同一个类。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-12-18

#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-百度百科

本回答被网友采纳
第2个回答  2018-05-30

[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跳出程序,或者将整个判断遍历一遍。

第3个回答  2010-08-27
switch(score) {
case 100:
case 99:
...
case 90:
System.out.println("A");
break;
case 89:
case 88:
...
case 80:
System.out.println("B");
break;
...
}
第4个回答  2018-05-23
//通过控制台输入分数
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; }