我在lastStartCol = FC_COLS – inBlockSize;
上收到此错误,而lastStartCol = ECONOMY_COLS – inBlockSize;
出现类似错误。也不确定我的老师要我用for语句做什么。简单的答案赞赏。
//确定lastStartCol,该行中给定块//大小的最后一个合法开始列。
if(inRow < FC_ROWS)
lastStartCol = FC_COLS – inBlockSize;
else
lastStartCol = ECONOMY_COLS – inBlockSize;
for(int startCol = 0; startCol <= lastStartCol; startCol++)
{
...
全班:
public class Airplane
{
private Seat [ ] [ ] seats;
public static final int FIRST_CLASS = 1;
public static final int ECONOMY = 2;
private static final int FC_ROWS = 5;
private static final int FC_COLS = 4;
private static final int ECONOMY_ROWS = 5;
private static final int ECONOMY_COLS = 6;
public Airplane()
{
seats = new Seat[FC_ROWS][FC_COLS];
for (int i=0; i<FC_ROWS; i++) {
for (int j=0; j<FC_COLS; j++)
{
seats[i][j] = new Seat(Seat.WINDOW);
}
seats = new Seat[ECONOMY_ROWS][ECONOMY_COLS];
for (int x=0; x<ECONOMY_ROWS; x++) {
for (int y=0; y<ECONOMY_COLS; y++)
{
seats[x][y] = new Seat(Seat.WINDOW);
}
}
}
}
public String toString()
{
String str = "";
for (int i=0; i<FC_ROWS; i++) {
for (int j=0; j<FC_COLS; j++)
{
str= str + seats[i][j].toString();
}
str = str + "\n";
}
return str;
}
public String toString2()
{
String z = "";
for (int x=0; x<ECONOMY_ROWS; x++) {
for (int y=0; y<ECONOMY_COLS; y++)
{
z= z + seats[x][y].toString();
}
z = z + "\n";
}
return z;
}
private int findEmptyBlockInRow(int inRow, int inBlockSize, int inSeatType)
{
int lastStartCol;
//Determine lastStartCol, the last legal start column for the given block //size in the row.
if(inRow < FC_ROWS)
lastStartCol = FC_COLS – inBlockSize;
else
lastStartCol = ECONOMY_COLS – inBlockSize;
for(int startCol = 0; startCol <= lastStartCol; startCol++)
{
...
//Starting at startCol, check for inBlockSize consecutive seats //that are empty and include the seat type you are looking for. If //a seat block is found, return the startCol.
for(int i = 0; i < inBlockSize; i++)
{
if (seats[inRow][startCol + i].isAvailable()==true)
{
int f = 0;
f++;
}
if (seats[inRow][startCol + i].getSeatType() == inSeatType)
{
int d = inSeatType;
}
return lastStartCol;
}
}
}
}
答案 0 :(得分:1)
通过输入我的理解是错误的。
在此行lastStartCol = FC_COLS - inBlockSize;
中尝试此操作首先删除此-
,然后再次从键盘输入减号。
从这一行开始执行上述操作lastStartCol = ECONOMY_COLS - inBlockSize;
OR
尝试用下面的代码替换。
if(inRow < FC_ROWS)
lastStartCol = FC_COLS - inBlockSize;
else
lastStartCol = ECONOMY_COLS - inBlockSize;