如何在Java中将数字转换为字母?

问题描述 投票:0回答:2

我想编写一个程序,将数字转换为字母,从0-9转换为ABCDEFJIK。例如:在n = 10的情况下,输出将为AB,因为0为A为0和B为1。这是我的代码:

String convertNumber(long n) {
    String result="";
    String strN = Long.toString(n);
    for (int i=0; i < strN.length();i++){
        char ch = strN.charAt(i);
        switch(ch){
            case '0':
            result = "A";
            case '1':
            result = "B";
            case '2':
            result = "C";
            case '3':
            result = "D";
            case '4':
            result = "E";
            case '5':
            result = "F";
            case '6':
            result = "G";
            case '7':
            result = "H";
            case '8':
            result = "I";
            case '9':
            result = "K";
        }
    }
    return result;
}

但是,结果只返回K。我在哪里做错了?谢谢!

java string numbers converters
2个回答
0
投票

您可以使用这个:

static String convertNumber(int n) {
        int reminder;
        char[] arr = "ABCDEFJIK".toCharArray();
        int len = arr.length;
        StringBuilder builder = new StringBuilder();
        while (n != 0) {
            reminder = (int) n % 10;
            n /= 10;
            builder.append(arr[reminder % len]);
        }
        return builder.toString();
    }

,主要

  static public void main(String[] args) {
        System.out.println(convertNumber(10));
  }

,输出

AB

0
投票

您在case之后缺少中断:

String convertNumber(long n) {
    String result="";
    String strN = Long.toString(n);
    for (int i=0; i < strN.length();i++){
        char ch = strN.charAt(i);
        switch(ch){
            case '0':
            result = "A";
            break;
            case '1':
            result = "B";
            break;
            case '2':
            result = "C";
            break;
            case '3':
            result = "D";
            break;
            case '4':
            result = "E";
            break;
            case '5':
            result = "F";
            break;
            case '6':
            result = "G";
            break;
            case '7':
            result = "H";
            break;
            case '8':
            result = "I";
            break;
            case '9':
            result = "K";
            break;
        }
    }
    return result;
}
© www.soinside.com 2019 - 2024. All rights reserved.