我需要打印以下输出:
J R F M O M A Z S 1 7 8 6 2 7 3 9 8 1
B C X Y P C S T P 1 3 4 6 8 7 2 9 2 3
G D C G D B F R T 4 6 7 8 3 1 1 3 0 3
K R Q L B U A M A 3 6 3 1 2 3 1 2 3 1
X P D T F X T C Z 4 3 7 9 0 6 2 6 7 8
Q K G X W E R J V 6 1 3 5 7 6 7 8 9 9
Q C P D G U L J X 1 6 3 1 2 3 1 2 3 1
Z J N S V S F H G 6 3 7 9 0 6 2 6 7 8
P T C D H H R G W 9 3 7 9 0 6 2 6 7 8
M T P B N E S D Y 0 3 7 9 0 6 2 6 7 8
因此,使用Math.random方法,我可以生成随机数字和随机字母...但是我无法以上述示例中的方式对齐它们。这是我的代码:
public class AlignmentOfRandCharacters {
static char getRandomChar() {
char ch = (char) ('A' + (Math.random() * ('Z' - 'A' + 1)));
return ch;
}
static char getRandomDig() {
char ch = (char) ('0' + (Math.random() * ('9' - '0' + 1)));
return ch;
}
public static void main(String[] args) {
for (int i = 0; i <= 100; i++) {
if (i % 10 != 0) {
System.out.print(getRandomChar() + " " + getRandomDig());
} else {
System.out.println();
}
}
}
}
这里是输出:
J 5E 6J 5J 2R 3N 5Q 5F 8S 3
G 8E 2G 3Q 4V 4I 4I 1Q 1M 3
B 3E 0I 9V 2V 7K 5A 1G 9D 1
N 8S 5R 6U 7U 7E 7G 9G 1S 5
Y 7R 0A 3H 3M 3X 1N 1U 3M 9
T 8Y 0Q 5Q 3C 5H 6V 5R 3R 1
D 0D 8X 6E 4N 8Q 4R 9Y 9J 2
N 8X 0P 8J 7K 9J 3G 9S 9B 0
P 2M 5W 5C 0K 1N 2T 5E 1R 8
E 4C 7E 8E 7T 5A 5S 1B 4P 3
我绝对确定答案是表面上的,但我看不到。感谢您的帮助
您可以为每10次迭代存储数字,完成10个字母后,打印数字,然后再次进行
StringBuilder digits = new StringBuilder();
for (int i = 0; i <= 100; i++) {
if (i % 10 != 0) {
System.out.print(getRandomChar() + " ");
digits.append(getRandomDig()).append(" ");
} else {
System.out.println(digits); // PRINT DIGITS
digits = new StringBuilder();
}
}
在第[[打印数字]行,如果要在两个矩阵之间使用空格,请使用System.out.println(" " + digits.toString());