gpt4 book ai didi

java - 如何调整我的 toString 方法以处理多个输入

转载 作者:行者123 更新时间:2023-12-01 11:41:16 24 4
gpt4 key购买 nike

这很草率,但它可以与 printint 一个 6x6 2D 数组及其每侧 4 个数组一起使用:

  1 4 2 2 2 3 
--------------
1 | 0 0 0 2 0 0 | 4
3 | 3 4 0 0 0 0 | 2
3 | 0 0 0 1 0 0 | 2
2 | 0 1 0 0 0 0 | 4
6 | 0 0 0 0 0 6 | 1
2 | 5 0 1 0 0 4 | 2
--------------
2 1 3 4 3 2
null

任何人都可以帮助我调整此方法以适用于任何大小的数组吗?不只是 6x6?

@Override
public String toString() {
System.out.print(' ');
System.out.print(' ');
for(int i = 0; i < NS.length; i++){
System.out.print(NS[i]);
System.out.print(' ');
}
System.out.println();
for (int i = 0; i < board.length; i++) {
if (i % board.length == 0) {
System.out.println(' ' + "--------------");
}
}
for (int j = 0; j < board.length; j++) {
if (j % board.length == 0) {

for (int r = 0; r < board.length; r++) {
System.out.print(WE[r]);
System.out.print(" | ");
for (int c = 0; c < board[r].length; c++) {
System.out.print(board[r][c]);
System.out.print(' ');
}
System.out.print(" | ");
System.out.print(EW[r]);
System.out.println();
}
}
}
System.out.println(' ' + "--------------");

System.out.print(' ');
System.out.print(' ');
for(int i = 0; i < SN.length; i++){
System.out.print(SN[i]);
System.out.print(' ');
}
System.out.println();
return null;
}

NS 是顶部的顶部数组

SW是底部的数组

WE 是左边的数组

EW 是右边的数组

board是二维数组

这是 7x7 结果:

  1 4 2 2 2 3 4 
--------------
1 | 0 0 0 2 0 0 1 | 4
3 | 3 4 0 0 0 0 0 | 2
3 | 0 0 0 1 0 0 0 | 2
2 | 0 1 0 0 0 0 0 | 4
6 | 0 0 0 0 0 6 0 | 1
2 | 5 0 1 0 0 4 0 | 2
4 | 0 0 0 0 0 0 0 | 2
--------------
2 1 3 4 3 2 3
null

这是 4x4 结果:

  1 4 2 2 
--------------
1 | 0 0 0 2 | 4
3 | 3 4 0 0 | 2
3 | 0 0 0 1 | 2
2 | 0 1 0 0 | 4
--------------
2 1 3 4
null

最佳答案

toString需要返回 String ,因此您应该构建一个 StringBuffer 而不是返回 null并返回 - 否 System.out.print s。水平线可以通过StringUtils.repeat来实现.

@Override
public String toString() {
StringBuffer sb = new StringBuffer();
sb.append(" ");
for(int i = 0; i < NS.length; i++){
sb.append(NS[i]+" ");
}
sb.append("\n");
sb.append(" " + StringUtils.repeat("-", board.length) + "\n");

等等...

    return sb.toString();
}

既然你的对象正确实现了 toString(),你就可以打印你的对象了。

System.out.println(yourObject);

关于java - 如何调整我的 toString 方法以处理多个输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29503989/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com