首页 > 解决方案 > 如何将数字转换为字母(A = 0、B = 1、C = 2 等...)

问题描述

实际上我很抱歉代码不完整我想这可能更好..我想要的是在算法完成后我希望能够打印出数字输出并将数字输出转换为字母..很可能就像密码

public static void main(String args[])
{
    Scanner scanner = new Scanner(System.in);
    String ct;
    String k;
    int sum = 0;

    System.out.print("Enter Text: ");
    ct = scanner.nextLine();
    int arr1[] = new int[ct.length()];

    for(int j = 0; j < ct.length(); j++)
    {
        arr1[j] += ( (int)ct.charAt(j) - 97);
        System.out.println("Value of Text at["+j+"]: "+arr1[j]);
    }


    //user input key
    System.out.print("Enter random word: ");
    k = scanner.nextLine();

    for(int i = 0; i < k.length(); i++)
    {
        System.out.println( (int)k.charAt(i) - 97 );
        sum = sum + ( +(int)k.charAt(i) - 97 );
    }
    System.out.println("Sum of all letter in the random word: "+sum);
    for(int i = 0; i < ct.length(); i++)
    {
        System.out.print(arr1[i]+ " ");
        arr1[i] += sum;
        if(arr1[i] > 25)
        {
            arr1[i] -= 25;
            if(arr1[i] > 25)
            {
                arr1[i] -= 25;
            }
        }
    }
    System.out.println();
    for(int i = 0; i < ct.length(); i++)
    {
        System.out.print(arr1[i]+ " ");
    }

}

输出

Enter Text: kind
Value of Text at[0]: 10
Value of Text at[1]: 8
Value of Text at[2]: 13
Value of Text at[3]: 3
Enter random word: evil
4
21
8
11
Sum of all letter in the random word: 44
10 8 13 3 
4 2 7 22 

标签: javastringcharascii

解决方案


你可以使用一个字符数组 char[] letters = "ABCD".toCharArray();

您想要的字母位于您的号码在数组中的位置。

System.out.println(letters[0]);

会打印'A'</p>

这仅适用于您希望 A 从 0 而不是 97 开始。


推荐阅读