我希望你能帮助我,这是我的代码:
public static void main(String[]args)
{
Scanner input = new Scanner(System.in);
System.out.print("Type your text: ");
String text = input.nextLine();
int counter = text.length();
if(text.length()> 16)
{
System.out.println("Error: input text is greater than 16 characters");
System.exit(0);
}
else
{
while(counter < 16)
{
text = text.concat("x");
counter++;
}
char[][] k = new char[4][4];
//int push = 0;
int push;
for (int i = 0; i < k.length; i++) {
push = i;
for (int j = 0; j < k[i].length; j++) {
k[i][j] = text.charAt(push);
System.out.print(k[i][j] + " ");
push = push + 4;
}
System.out.println();
}
}
}
现在当我输入:abcdefghijklmn时,输出为:
a e i m
b f j n
c g k x
d h l x
这是完美的,当我打印它看起来像矩阵。但现在我必须以其他方式打印:
aeim, bfjn, cgkx, dhlx
不是矩阵,而是排成一行(用逗号)
答案 0 :(得分:1)
只需将System.out.println()
替换为System.out.print(", ");
,您不需要任何条件,也不要将字符用空格连接,希望它能正常工作
答案 1 :(得分:1)
只需将System.out.println();
替换为System.out.print(", ");
答案 2 :(得分:0)
在第一组嵌套for循环之后,在最后添加它:
for (int j = 0; j < k[i].length; j++) {
for (int i = 0; i < k.length; i++) {
if (j == k[i].length - 1 && i == k.length - 1)
System.out.print(k[i][j] + ".");
else
System.out.print(k[i][j] + ", ");
}
}
k当前分配值的方式,它将按以下顺序打印:
aeim, bfjn, cgkx, dhlx
通过反转嵌套的for循环并修改print命令,它将打印:
a, b, c, d, e, f, g, h, i, j, k, l, m, n, x, x.
当然,这是假设您要打印矩阵和列表。 如果没有,则反转初始循环并更改分配值的方式。