Java 我被要求用*来打印“DJE”。结果出了问题。我怎样才能解决它? 我试着这样打印结果 这是我的密码 我试图移动一些人的位置,但没用

Java 我被要求用*来打印“DJE”。结果出了问题。我怎样才能解决它? 我试着这样打印结果 这是我的密码 我试图移动一些人的位置,但没用,java,Java,确保代码中没有任何选项卡。如果你想保持一致的间距,你必须使用空格字符。正如我在评论中提到的,你现在有一个制表符和空格的组合;为了获得一致的输出,请使用空格-制表符的宽度并不总是相同的。另一个选项是,用二进制编码消息,然后显示它。比如说, long[] arr = { 1108316309685247L, 857619170329344L, 851022100562688L, 847723565679360L, 847723565679612L, 847730008130304L

确保代码中没有任何选项卡。如果你想保持一致的间距,你必须使用空格字符。

正如我在评论中提到的,你现在有一个制表符和空格的组合;为了获得一致的输出,请使用空格-制表符的宽度并不总是相同的。另一个选项是,用二进制编码消息,然后显示它。比如说,

long[] arr = { 1108316309685247L, 857619170329344L, 851022100562688L, 
        847723565679360L, 847723565679612L, 847730008130304L,
        851025321788160L, 857620881605376L, 1108308727432191L };
for (long v : arr) {
    System.out.print("    ");
    for (char ch : Long.toBinaryString(v).toCharArray()) {
        System.out.print(ch == '1' ? '*' : ' ');
    }
    System.out.println();
}
这将保证空间就是空间。至于我们是如何做到这一点的,只需使用Long.parseLongString,2 on


将所有选项卡更改为空格,它应该可以正常工作。谢谢。我明白了。我想知道制表符和空格有什么区别。为什么制表符不工作?@KMING制表符取决于制表位的设置。tab stop是每个选项卡要释放的空间数。因此,如果制表位设置为5,那么在源代码中它看起来像一个空格,但是当它打印出来时,每个制表位都变成了5个空格。我知道制表位和空格是不同的。谢谢你教我。祝您今天过得愉快。
long[] arr = { 1108316309685247L, 857619170329344L, 851022100562688L, 
        847723565679360L, 847723565679612L, 847730008130304L,
        851025321788160L, 857620881605376L, 1108308727432191L };
for (long v : arr) {
    System.out.print("    ");
    for (char ch : Long.toBinaryString(v).toCharArray()) {
        System.out.print(ch == '1' ? '*' : ' ');
    }
    System.out.println();
}
11111100000000000111111111111100000000001111111111
11000011000000000000000110000000000000001100000000
11000001100000000000000110000000000000001100000000
11000000110000000000000110000000000000001100000000
11000000110000000000000110000000000000001111111100
11000000110000000110000110000000000000001100000000
11000001100000000011000110000000000000001100000000
11000011000000000001101100000000000000001100000000
11111100000000000000111100000000000000001111111111