gpt4 book ai didi

Java – 使用二维数组和构造函数(初学者)

转载 作者:行者123 更新时间:2023-11-30 06:09:38 25 4
gpt4 key购买 nike

这篇文章会很长,但如果社区可以帮助我,我会很高兴。

这是以前类测试中的一道题。这次我必须期待类似的情况,但我目前陷入困境。我对 Java 及其概念很陌生。测试结果应如下所示:

The result

我同时面临多个问题。我会尽力做到具体。首先我会解释一下这个任务,它给出了无法改变的条件。

任务创建一个二维数组字段。该字段应适用于各种大小。除了大小之外,数组字段还应包含以下模式(见图)。

1.) 创建一个构造函数,根据传入的参数创建一个矩形数组字段,并附加一些额外条件。

1.1) 如果参数小于 5,则该字段应强制显示为 5/5 字段。

1.2) 如果参数大于 5,它应始终显示为 n/n 数组。

public class Pattern {
char[][] field;

public Pattern(int n) {
// Here goes my code for creating the field
}

2.) 编写一个填充构造函数的方法。

public void fillArray() {
// Here goes my code.
}

到目前为止我的方法

public Pattern(int n) {
field = new char[n][n];
int i, j;

if (field.length < 5) {
for (i = 1; i <= 5; i++) {
for (j = 1; j <= 5; j++) {
// ? what to do with the array here?
}
System.out.println();
}
}


public void fillArray() {
// no fu**ing idea...
}


public static void main (String[]args){
Pattern cross = new Pattern(2);
cross.fillArray();
System.out.println(cross);
}

问题

1.) 构造函数中应返回什么值?

2.) 如何访问方法中的对象并设置 for 循环来获取预定义的字段大小?我应该使用this吗?

很抱歉我对如何传递数组信息并正确执行这些信息的理解不好。

最佳答案

public class Pattern {

private final int size;
private final char[][] field;

public Pattern(int n) {
size = Math.max(n, 5);
field = new char[size][size];
}

public void fillArray() {
for (int row = 0, i = size - 1; row < size; row++, i--) {
for (int col = 0, j = size - 1; col < size; col++, j--) {
if (row == col || row == j)
field[row][col] = '*';
else if (col > row)
field[row][col] = col < i ? '1' : '2';
else
field[row][col] = col > i ? '3' : '4';
}
}
}

public void print() {
for (int row = 0; row < size; row++) {
for (int col = 0; col < size; col++)
System.out.print(field[row][col] == '\0' ? ' ' : field[row][col]);
System.out.println();
}
}


public static void main(String... args) {
Pattern cross = new Pattern(2);
cross.fillArray();
cross.print();
}

}

关于Java – 使用二维数组和构造函数(初学者),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50554459/

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