我正在使用Eclipse,但出现此错误:
这是我的程序:
import java.util.*;
class Project {
public static void printRow(char[] row) {
for (char i : row) {
System.out.print(i);
System.out.print("\t");
}
System.out.println();
}
public static void method1 (char[][]seats){
seats = new char [15][4];
int i,j;
char k = 'O';
for(i=0;i<15;i++) {
for(j=0;j<4;j++) {
seats[i][j]=k;
}
}
for(char[] row : seats) {
printRow(row);
}
这是主要的:
public static void main (String[]arg) {
method1(seats);
}
我省略了不相关的代码,Eclipse将
method1(seats)
标记为一个错误,但是我不知道如何解决它。编辑:我为
seats
使用参数,因为我需要在其他方法中使用。 最佳答案
编辑:,正如您在评论中所说,您需要在代码的其他地方重用席位。
因此,建议您执行以下操作:
private char[][] makeSeats() {
char[][] seats = new char[15][4];
for(int i=0; i<15; i++) {
for(int j=0; j<4; j++) {
seats[i][j] = 'O';
}
}
return seats;
}
public static void method1(char[][] seats) {
for(char[] row : seats) {
printRow(row);
}
}
public static void printRow(char[] row) {
for (char i : row) {
System.out.print(i);
System.out.print("\t");
}
System.out.println();
}
public static void main(String[] args) {
char[][] seats = makeSeats();
method1(seats);
}
好吧,因为要在
seats
内创建#method1()
,为什么不从方法中删除参数?请记住,只有当您希望您的方法/函数基于改变其行为时,才需要参数。如果尽管参数有任何更改,但您始终在做相同的事情,则几乎不需要它们。
public static void method1() {
char[][] seats = new char[15][4];
int i, j;
char k = 'O';
for(i=0; i<15; i++) {
for(j=0; j<4; j++) {
seats[i][j]=k;
}
}
for(char[] row : seats) {
printRow(row);
}
}
public static void main(String[] args) {
method1();
}