【问题标题】:Can I use toBinaryString function on matrix我可以在矩阵上使用 toBinaryString 函数吗
【发布时间】:2017-02-21 13:20:54
【问题描述】:

这是我编写的将字符转换为其等效整数的代码。这些值在二维矩阵中。我想将这些 ASCII 值转换为二进制等效值。

for(int a=0; a<3; a++) {
    for(int b=0; b<3; b++) {
       char character=first[a][b];
       B=(int) character;
       System.out.print(B+" ");
    }
   System.out.println();
}
System.out.println("\n");

我从上面的代码中得到了 ASCII 等效值所需的输出。 我尝试使用函数 toBinaryString() 但它只转换一个值。这个函数可以在二维矩阵上使用吗? 如何将这些值分配给 2D 矩阵,因为当我打印 B 时,我只得到矩阵的最后一个元素,而不是得到完整的 2D 矩阵?

【问题讨论】:

  • 但是你已经有了一个循环,所以只需将 B+" " 替换为 Integer.toBinaryString(B)+" "
  • Thanx ....我创建了另一个 for 循环并分别显示二进制值。但是现在当我显示 B 时,我只得到 ASCII 等效矩阵的最后一个元素,你能帮我如何分配将这些值转换为 2D 矩阵?
  • 你说的是上面相同的代码吗?如果不是,您可以编辑您的问题并添加您的新代码。
  • 是的。我说的是上面相同的代码

标签: java matrix


【解决方案1】:

不,没有像这样的标准方法:

first.toBinaryString();

String s = Arrays.toBinaryString(first);

但您可以实现自己的方法,例如:

public static String charMatrixToBinaryString(char[][] matrix) {...}

UPD:有您的 BinaryString 输出代码:

    String[][] ascii2dMatrix = new String[3][3];

    for(int i = 0; i < 3; i++) {
        for(int j = 0; j < 3; j++) {
            ascii2dMatrix[i][j] = Integer.toBinaryString(first[i][j]);
            System.out.print(ascii2dMatrix[i][j] + " ");
        }
        System.out.println();
    }
    System.out.println("\n");

【讨论】:

    猜你喜欢
    • 2015-07-20
    • 1970-01-01
    • 2013-11-23
    • 1970-01-01
    • 2015-10-30
    • 2015-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多