如何将数字转换为字母(A = 0,B = 1,C = 2等)

时间:2018-11-09 17:40:27

标签: java string char ascii

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

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 

3 个答案:

答案 0 :(得分:0)

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

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

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

会打印'A'

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

答案 1 :(得分:0)

您可以创建一个方法:

public String getCharacterFromInt(int i) {
    return String.valueOf((char)(i + 'A'));
}

您可以调用该方法:

System.out.println("Value: "+getCharacterFromInt(0));

为0时,返回A 等等。

答案 2 :(得分:0)

让我知道您是否正在尝试做这样的事情。

public class MainClass {
    public static void main(String[] args) {
    Scanner scanner=new Scanner(System.in);
    String s=scanner.nextLine();
    for(int i=0;i<s.length();i++){
        System.out.println("Value of the text at ["+i+"]: "+((int) s.charAt(i)-22)%25);
    }

  }
}

如果输入为:evil

输出将是:

Value of the text at [0]: 4

Value of the text at [1]: 21

Value of the text at [2]: 8

Value of the text at [3]: 11