*4.14(转换字母等级为数字)编写程序,提示用户输入一个字母等级A、B、C、D或者F,显示对应的数字值4、3、2、1或者0。对其它输入,提示非法等级
题目题目概述运行示例破题代码题目
题目概述
*4.14(转换字母等级为数字)编写程序,提示用户输入一个字母等级A、B、C、D或者F,显示对应的数字值4、3、2、1或者0。对其它输入,提示非法等级
运行示例
Enter a letter grade: B
The numeric value for grade B is 3
Enter a letter grade: T
T is an invalid grade
破题
一个极为简单的方法,switch选择:
接收输入,赋值给String类型判断长度,如果大于1则非法使用charAt()提取第一位赋值给char类型使用switch将输入字母等级与数字值一一对应
代码
import java.util.Scanner;public class Test4_14 {public static void main(String[] args) {// 接收输入,赋值给String类型Scanner input = new Scanner(System.in);System.out.println("Enter a letter grade: ");String str = input.next();// 判断长度,如果大于1则非法if(str.length() > 1){System.out.println(str + " is an invalid grade");System.exit(1);}// 使用charAt()提取第一位赋值给char类型char chr = str.charAt(0);// 使用switch将输入字母等级与数字值一一对应int num = 0;switch (chr){case 'A':num = 4;break;case 'B':num = 3;break;case 'C':num = 2;break;case 'D':num = 1;break;case 'F':num = 0;break;default:System.out.println(str + " is an invalid grade");}System.out.println("The numeric value for grade " + chr + " is " + num);}}
Java黑皮书课后题第4章:*4.14(转换字母等级为数字)编写程序 提示用户输入一个字母等级A B C D或者F 显示对应的数字值4 3 2 1或者0。对其它输入 提示非法等级