Я программирую класс Океана, это домашнее задание, мне нужно создать океан, где «S» - это акула, а «F» - это рыба.
Океан - это доска, поэтому я использую матрицу, чтобы, если в Океане есть одна рыба и одна акула, мертвая рыба или если вокруг акулы нет рыб, то мертвая акула.
но когда я пытаюсь скомпилировать, покажи мне:
error: not a statement
oceano2[i-1][j-1] == 'F';
^
мои переменные ...
public class Ocean {
private AquaticAnimal[][] oceano = new AquaticAnimal[][];
private AquaticAnimal[][] oceano2 = new AquaticAnimal[][];
static int defaultCapacity;
мой конструктор ...
public Ocean(int dimOceano) {
if (dimOceano > this.defaultCapacity) {
this.oceano = new AquaticAnimal[dimOceano][dimOceano];
this.oceano2 = new AquaticAnimal[dimOceano][dimOceano];
} else {
this.oceano = new AquaticAnimal[defaultCapacity][defaultCapacity];
this.oceano2 = new AquaticAnimal[defaultCapacity][defaultCapacity];
}
}
Методы Океана
public int getCapacity(){
return oceano.length; //regrese numero de filas
}
.
.
.
Я не знаю, как лучше проанализировать все места моей матрицы, поэтому я делаю одно за другим.
Я должен проанализировать, есть ли вокруг рыбы или акулы, есть ли у меня рыба и акула, акула съедает рыбу, если нет рыб, мертвые акулы, если только есть рыбы, рожденные новой рыбой.
public void cycle() {
int f = this.oceano.length;
int c = this.oceano[0].length;
for(int i = 1; i < f; i++) {
for(int j = 1; j < c; j++) {
while((j+1 < c) && (i+1 < f)) {
if ((oceano2[i-1][j-1].equals('F'))&&(oceano2[i-1][j].equals(' '))&&(oceano2[i][j-1].equals(' '))&&(oceano2[i][j].equals(' '))) {
oceano2[i-1][j-1] = new AquaticAnimal('F');
} else if ((oceano2[i-1][j-1].equals(' '))&&(oceano2[i-1][j].equals('F'))&&(oceano2[i][j-1].equals(' '))&&(oceano2[i][j].equals(' '))){
.
.
.
это я класс AquaticAnimal
, только конструктор и методы ...
public class AquaticAnimal{
public static int maxStarveCycles = 0;
private char animal;
private int ciclosSinAlimentar;
public AquaticAnimal(char animal){
if(animal == 'F'){
this.animal = animal;
ciclosSinAlimentar = 0;
} else {
this.animal = animal;
maxStarveCycles = 3;
}
}
public char getTipo(){
return animal;
}
public int getStarveCycles(){
return ciclosSinAlimentar;
}
.
.
.
меняю
==
до
.equals()
и
new AquaticAnimal('F);
но теперь у меня следующая ошибка:
error: cannot find symbol
AquaticAnimal.maxStarveCycle = 3;