国际标准中电话键盘上字母和数字之间的对应关系如下图所示。
编写一个程序,从键盘读入一个输入的字母,将其转换成所对应的数字。
输入格式:
从键盘输入一个字符,取值范围为“a~z”或“A~Z”,当输入多个连续字符时,取第一个字符。
输出格式:
(1)若输入数据合法,输出其所对应的数字,范围为2~9;
(2)若输入数据非法,则输出所输入字符+“ is an invalid input”
输入样例1:
在这里给出一组输入。例如:
M
输出样例1:
在这里给出相应的输出。例如:
6
输入样例2:
在这里给出一组输入。例如:
t
输出样例2:
在这里给出相应的输出。例如:
8
输入样例3:
在这里给出一组输入。例如:
0
输出样例3:
在这里给出相应的输出。例如:
0 is an invalid input
代码如下:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String a = sc.next();
a=a.toUpperCase();//把小写转化为大写字母
char b = a.charAt(0);//获取第一个字符
if(isLegal(b)) {
switch (b) {
case 'A':
case 'B':
case 'C':
System.out.println("2");
break;
case 'D':
case 'E':
case 'F':
System.out.println("3");
break;
case 'G':
case 'H':
case 'I':
System.out.println("4");
break;
case 'J':
case 'K':
case 'L':
System.out.println("5");
break;
case 'M':
case 'N':
case 'O':
System.out.println("6");
break;
case 'P':
case 'Q':
case 'R':
case 'S':
System.out.println("7");
break;
case 'T':
case 'U':
case 'V':
System.out.println("8");
break;
case 'W':
case 'X':
case 'Y':
case 'Z':
System.out.println("9");
break;
}
}else{
System.out.println(b+" is an invalid input");
}
}
public static boolean isLegal(char x){
if(x>='a'&&x<='z'||x>='A'&&x<='Z'){
return true;
}
return false;
}
}
测试点 | 结果 | 分数 | 耗时 | 内存 |
---|---|---|---|---|
0 | 答案正确 | 2 | 111 ms | 15248 KB |
1 | 答案正确 | 2 | 108 ms | 15164 KB |
2 | 答案正确 | 2 | 113 ms | 15184 KB |
3 | 答案正确 | 2 | 111 ms | 14732 KB |
4 | 答案正确 | 2 | 109 ms | 15160 KB |
5 | 答案正确 | 2 | 110 ms | 15020 KB |
6 | 答案正确 | 2 | 111 ms | 15180 KB |
7 | 答案正确 | 2 | 114 ms | 15524 KB |
8 | 答案正确 | 2 | 108 ms | 15100 KB |
9 | 答案正确 | 2 | 107 ms | 15036 KB |