Java 我想写一个程序来找到手机键盘上每个字母的坐标号。我喜欢这样
问题是,如果我一次输入两个或多个字母(例如“ab”,答案将是“2”,但我想要的是“无效输入”。我如何添加此说明以要求用户只输入一个字母?您可以在切换前检查str长度,并按如下方式返回:Java 我想写一个程序来找到手机键盘上每个字母的坐标号。我喜欢这样,java,Java,问题是,如果我一次输入两个或多个字母(例如“ab”,答案将是“2”,但我想要的是“无效输入”。我如何添加此说明以要求用户只输入一个字母?您可以在切换前检查str长度,并按如下方式返回: import java.util.Scanner; public class ConvertLetterToNumber { public static void main(String[] args) { Scanner input = new Scanner(System.in);
import java.util.Scanner;
public class ConvertLetterToNumber {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("Enter one letter");
String str = input.next();
char ch = str.charAt(0);
switch (ch){
case 'A': case 'a': case 'B': case 'b': case 'C': case 'c':
System.out.println("the number is 2");
break;
case 'D': case 'd': case 'E': case 'e': case 'F': case 'f':
System.out.println("the number is 3");
break;
case 'G': case 'g': case 'H': case 'h': case 'I': case 'i':
System.out.println("the number is 4");
break;
case 'J': case 'j': case 'K': case 'k': case 'L': case 'l':
System.out.println("the number is 5");
break;
case 'M': case 'm': case 'N': case 'n': case 'O': case 'o':
System.out.println("the number is 6");
break;
case 'P':case 'p': case 'Q': case 'q': case 'R': case 'r': case 'S': case's':
System.out.println("the number is 7");
break;
case 'T':case 't':case 'U':case'u':case'V':case 'v':
System.out.println("the number is 8");
break;
case 'W':case 'w':case 'X': case 'x': case 'Y':case'y':case 'Z':case 'z':
System.out.println("the number is 9");
break;
default :System.out.println("Error:invalid input");
System.exit(1);
}
}
}
如果要检查完整的输入,为什么只取第一个字符
char ch=str.charAt(0);
?只需在字符上执行一个toLower()即可消除一半的大小写
,如果要检查多个字符,则不要使用charAt()
无论如何只返回一个字符。您真的需要System.exit(1)吗?@Marc B这是一个关于消除我的案例的非常好的提示!问题是让用户只输入一个字母,而不是两个或更多,例如:输入a和输出:2@ergonaut您能给我一个关于我还应该使用什么的提示吗?Scanner input=new Scanner(System.in);System.out.println(“输入一个字母”);String str=input.next();String ch=(str.substring(0)).toUpperCase();if(ch.length()>1){System.out.println(“无效输入.请只输入一个字符”);}else开关(ch){case“A”:case“B”:case“C”:System.out.println(“数字为2”);break;….默认值:System.out.println(“无效输入。请输入字母”);}}}我就是这么做的。似乎正确
if (str.length > 1){
return;
}