gpt4 book ai didi

java - 在 Java 中比较对象是否相等时出错

转载 作者:行者123 更新时间:2023-12-02 04:06:09 24 4
gpt4 key购买 nike

我正在编写海洋类,这是一项家庭作业,我需要制作一个海洋,其中“S”是鲨鱼,“F”是鱼。海洋是一 block 木板,所以我使用一个矩阵来制作,如果海洋中有一条鱼和一条鲨鱼,则鱼死,或者如果鲨鱼周围没有鱼,则鲨鱼死。

但是当我尝试编译时显示:

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;

最佳答案

你已经很接近了。 oceano2[i-1][j-1] == 'F' 正在尝试将 AquaticAnimal 与字符 F 进行比较。在末尾添加一个获取类型的调用:oceano2[i-1][j-1].getTipo() == 'F'

关于java - 在 Java 中比较对象是否相等时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56712455/

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