java - 从文本到数字

标签 java

在您的手机键盘和旧手机键盘上,字母按如下方式映射为数字:ABC(2)、DEF(3)、GHI(4)、JKL(5)、MNO(6)、PQRS(7)、 TUV(8)、WXYZ(9)。 编写一个程序,提示用户输入字符串(不区分大小写),并转换为键盘数字序列。

public static void main(String[] args) 
{
    Scanner scan = new Scanner(System.in);

    String str = scan.next().toLowerCase();

    for(int i = 0; i <= (str.length()-1); i++)
    {
        if(str.charAt(i) == 'A')
            System.out.print("2");
        else if(str.charAt(i) == 'B')
            System.out.print("22");
        else if(str.charAt(i) == 'C')
            System.out.print("222");
        else if(str.charAt(i) == 'D')
            System.out.print("3");
        else if(str.charAt(i) == 'E')
            System.out.print("33");
        else if(str.charAt(i) == 'F')
            System.out.print("333");
        else if(str.charAt(i) == 'G')
            System.out.print("4");
        else if(str.charAt(i) == 'H')
            System.out.print("44");
        else if(str.charAt(i) == 'I')
            System.out.print("444");
        else if(str.charAt(i) == 'J')
            System.out.print("5");
        else if(str.charAt(i) == 'K')
            System.out.print("55");
        else if(str.charAt(i) == 'L')
            System.out.print("555");
        else if(str.charAt(i) == 'M')
            System.out.print("6");
        else if(str.charAt(i) == 'N')
            System.out.print("66");
        else if(str.charAt(i) == 'O')
            System.out.print("666");
        else if(str.charAt(i) == 'P')
            System.out.print("7");
        else if(str.charAt(i) == 'Q')
            System.out.print("77");
        else if(str.charAt(i) == 'R')
            System.out.print("777");
        else if(str.charAt(i) == 'S')
            System.out.print("7777");
        else if(str.charAt(i) == 'T')
            System.out.print("8");
        else if(str.charAt(i) == 'U')
            System.out.print("88");
        else if(str.charAt(i) == 'V')
            System.out.print("888");
        else if(str.charAt(i) == 'W')
            System.out.print("9");
        else if(str.charAt(i) == 'X')
            System.out.print("99");
        else if(str.charAt(i) == 'Y')
            System.out.print("999");
        else if(str.charAt(i) == 'Z')
            System.out.print("9999");
    }
}

当我写一个字符串时,它没有给我任何东西!只是空白。问题出在哪里?

最佳答案

这是你的罪魁祸首:

String str = scan.next().toLowerCase();

将其更改为:

String str = scan.next().toUpperCase();

关于java - 从文本到数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33724143/

相关文章:

java - 如何在 JGit 中 merge ?

Java 更新 : On LInux Mint the openjdk package doesn't update to the latest stable version

java - TCP/IP 服务器能否接受路由器转发的连接

java - 不同的结果,为什么?

java - 类型参数 T#1 不在类型变量 T#2 的范围内

java批量插入方法

java - 设置<>仅保留最后一个文件夹值

java - 如何从 netbeans Web 应用程序启动 solr?

java - 如何防止 Gson 将长数字(一个 json 字符串)转换为科学记数法格式?

java - 如何以编程方式将按键事件发送到 Java 应用程序中的任何窗口/进程?