创建数字电话键盘

时间:2015-09-15 00:47:30

标签: java enums abstract

我正在编写一个Telephone类,它有一个名为getDigits的方法,它接受一个String参数,如果你用老式的方式键入这些字母,它将返回手机上显示的数字。 Ex-键入" CAT"将返回227.我编写了以下代码并且它有效,但我想知道是否有其他人有更好的想法去做/更复杂的。我正在学习数据抽象/枚举等等,感觉我应该使用它们,但我无法弄清楚如何在这里实现它。任何帮助表示赞赏:

public int getDigits(String test){
        String result = "";
        String param = test.toUpperCase();
        for(int i = 0; i<param.length(); i++){
            String s = Character.toString(param.charAt(i));
            if(s.equals("A") || s.equals("B") || s.equals("C")){
                result += 2;
            }

            else if(s.equals("D") || s.equals("E") || s.equals("F")){
                result += 3;
            }

            else if(s.equals("G") || s.equals("H") || s.equals("I")){
                result += 4;
            }

            else if(s.equals("J") || s.equals("K") || s.equals("L")){
                result += 5;
            }

            else if(s.equals("M") || s.equals("N") || s.equals("O")){
                result += 6;
            }

            else if(s.equals("P") || s.equals("Q") || s.equals("R") || s.equals("S")){
                result += 7;
            }
            else if(s.equals("T") || s.equals("U") || s.equals("V")){
                result += 8;
            }

            else if(s.equals("W") || s.equals("X") || s.equals("Y") || s.equals("Z")){
                result += 9;
            }
        }
        return Integer.parseInt(result);
    }

0 个答案:

没有答案