java - Java:如何从不同的类中调用数组,并修改它们?
问题描述
我是Java编程的初学者,我正在尝试制作一个2人棋盘游戏,玩家根据骰子(1~6)的结果在棋盘上移动。
空白数组用于显示玩家的位置。
blank[i][0]
是第一位玩家在棋盘上的位置,blank[i][1]
显示第二位玩家的位置。
我在 中创建了数组,class Blank{}
并希望在class Player{}
. 这是代码class Blank{}
和代码的一部分class Player{}
class Blank {
Blank() {
String[][] blank = new String[12][2];
for (int i = 0; i < 12; i++) {
for (int j = 0; j <2; j++)
blank[i][j] = " "; }
}
}
class Player {
int player1, player2;
Blank blank = new Blank();
Player() {
player1 = 1;
player2 = 2;}
void readyPlayers() {
blank[0][0] = player1;
blank[0][1] = player2;}
int getPlayer1() {
int i = 0;
for ( i = 0; i < 10; i++) {
if (blank[i][0] == "1")
break;}
return i;}
void setPlayer1(int p1Loc) {
for(int i = 0; i < 10; i++)
blank[i][0] = " ";
blank[p1Loc][0] = player1;}
void movePlayer1(int dice1) {
int p1Loc = getPlayer1();
for(int i = 0; i < dice1; i++) {
p1Loc += 1;
if (p1Loc == 10)
p1Loc = 0;}
setPlayer1(p1Loc);}
我认为 in 中的函数class Player{}
会因为 line 起作用Blank blank = new Blank()
,但是每个数组中都有这个blank[][]
数组。
错误:The type of the expression must be an array type but it resolved to Blank
解决方案
首先,您在 Blank 构造函数中创建了一个局部变量,但是当您从那里退出时,空白变量将不再可用。
其次,在函数中,您尝试将 int 写入 String,但您以错误的方式进行。阅读此处将 int 转换为 String以了解更多详细信息。