如何将数字转换为字母?

问题描述

我有这段代码,它为我生成一个2D矩阵,在第一列中有4个数字之一,在第二列中有4个数字之一(但两个值不能相同)。但是现在,我想将数字转换为字母-因此,我要使用字母a,b,c或d代替数字1、2、3或4。我知道我必须通过ascii编码解决该问题,但是我不知道该怎么做。

是的,我知道,stackoverflow中确实存在这个问题,但是我不知道如何在我的班级中通过该问题实现方法。这两行代码对我没有帮助,因为我有这个特定的代码,而且对于Java或一般而言,我真的是新手。

public class scratch{
  public static void main(String[] args) {

    Number[][] generator = new Number[10][2];
    for (int i = 0; i < generator.length; i++) {
      for (int j = 0; j < generator[i].length; j++) {
        if (j == 0) {
          double x = Math.random();
          generator[i][j] = x < 0.25 ? 1 : (x < 0.5 ? 2 : (x < 0.75 ? 3 : 4));
        } else {
          do {
            double y = Math.random();
            generator[i][j] = y < 0.25 ? 1 : (y < 0.5 ? 2 : (y < 0.75 ? 3 : 4));
          } while (generator[i][j].equals(generator[i][0]));
        }
        System.out.print(generator[i][j] + "  ");
      }
      System.out.println();
    }
  }
}

解决方法

char实际上是int,您可以在-+之间使用charint

// 1 - a; 26 - z
public static char convertToLetter(int num) {
    return (char)('a' - 1 + num);
}