java将大写字母输入转换为特定数字
我对编程非常陌生,所以我希望保持这个简单。编译器接受我的代码,但当我运行程序并键入字母A时,我只会收到大量错误。我之前尝试使用字符串字母而不是int字母,但我只是得到编译器错误,说明我无法将字符串转换为字符或其他东西。我真的很困惑,可以用一个快速的解释和修复,这样我可以得到一个数字回来。这是我的密码:
import java.util.Scanner;
import java.lang.String;
public class PhoneAlgorithm {
public static void main(String[] args){
int digit = -1;
Scanner in;
in = new Scanner(System.in);
System.out.print("Enter an uppercase letter to find out the corresponding digit on a telephone: ");
int letter;
letter = Integer.parseInt(in.next());
if (letter == 'A' || letter == 'B' || letter == 'C') {
digit = 2; }
else if (letter == 'D' || letter == 'E' || letter == 'F') {
digit = 3; }
else if (letter == 'G' || letter == 'H' || letter == 'I') {
digit = 4; }
else if (letter == 'J' || letter == 'K' || letter == 'L') {
digit = 5; }
else if (letter == 'M' || letter == 'N' || letter == 'O') {
digit = 6; }
else if (letter == 'P' || letter == 'Q' || letter == 'R' || letter == 'S') {
digit = 7; }
else if (letter == 'T' || letter == 'U' || letter == 'V') {
digit = 8; }
else if (letter == 'W' || letter == 'X' || letter == 'Y' || letter == 'Z') {
digit = 9; }
else if (letter >= 'a' && letter >= '3') {
System.out.print("You did not enter a valid uppercase letter. Try again!");
}
if (digit != -1) {
System.out.println("The corresponding digit on your telephone is: " + digit);
}
}
}
# 1 楼答案
使用
parseInt(str)
时,如果参数str
无法转换为整数,则会得到Exception
必须使用
char
,因为要将输入与单个字符进行比较:str.charAt(index)
返回指定索引处的字符值李># 2 楼答案
我修改了你的代码,我想这就是你要找的