Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 最优数据结构查询_Java_Data Structures - Fatal编程技术网

Java 最优数据结构查询

Java 最优数据结构查询,java,data-structures,Java,Data Structures,我有二维整数数组(ixj)的细胞模拟为海洋 i是宽度,j是高度 private int[][] ocean = new int[j][i]; 我将通过指定这样的整数来放置鲨鱼和鱼 public final static int EMPTY = 0; public final static int SHARK = 1; public final static int FISH = 2; 15%的细胞充满了鲨鱼 50%的细胞充满了鱼 但我也只想保持鲨鱼的饥饿水平 任何鲨鱼的饥饿水平都将为1、

我有二维整数数组(ixj)的细胞模拟为海洋

i是宽度,j是高度

private int[][] ocean = new int[j][i];
我将通过指定这样的整数来放置鲨鱼和鱼

public final static int EMPTY = 0;

public final static int SHARK = 1;

public final static int FISH = 2;
15%的细胞充满了鲨鱼

50%的细胞充满了鱼

但我也只想保持鲨鱼的饥饿水平

任何鲨鱼的饥饿水平都将为1、2或3

那么,我应该使用什么额外的数据结构来维护饥饿级别信息呢


假设,我只知道数组和linkedlist。

对于java,您应该尝试使用一些面向对象的设计模型

您可以定义一个抽象类
Fish
和子类
Shark
Herring
,这样
Shark
就可以有一个属性
hungerLevel
和一个方法
feed()

然后,您可以将有关海洋的信息保存在一个2D数组中,该数组由
鱼组成
鱼[][]

但是由于您的海洋可能有额外的责任,我认为还应该有一个
ocean
-类来包含数组和一些额外的信息。

对于java,您应该尝试使用一些面向对象的设计模型

您可以定义一个抽象类
Fish
和子类
Shark
Herring
,这样
Shark
就可以有一个属性
hungerLevel
和一个方法
feed()

然后,您可以将有关海洋的信息保存在一个2D数组中,该数组由
鱼组成
鱼[][]

但是由于您的海洋可能有额外的责任,我认为还应该有一个
ocean
-类来包含数组和一些额外的信息。

对于java,您应该尝试使用一些面向对象的设计模型

您可以定义一个抽象类
Fish
和子类
Shark
Herring
,这样
Shark
就可以有一个属性
hungerLevel
和一个方法
feed()

然后,您可以将有关海洋的信息保存在一个2D数组中,该数组由
鱼组成
鱼[][]

但是由于您的海洋可能有额外的责任,我认为还应该有一个
ocean
-类来包含数组和一些额外的信息。

对于java,您应该尝试使用一些面向对象的设计模型

您可以定义一个抽象类
Fish
和子类
Shark
Herring
,这样
Shark
就可以有一个属性
hungerLevel
和一个方法
feed()

然后,您可以将有关海洋的信息保存在一个2D数组中,该数组由
鱼组成
鱼[][]


但是,由于您的海洋可能有额外的职责,我认为还应该有一个
ocean
-类来包含数组和一些额外的信息。

是的,我创建了这样的海洋类。public class ocean{public final static int EMPTY=0;public final static int SHARK=1;public final static int FISH=2;public final static int UNKNOWN=-1;private int width;private int[][]矩阵;//private int[][]饥饿;需要考虑优化private int饥饿时间;…}是的,我创建了这样的ocean类。公共类ocean{private int width;private int height;private int[][]oceanMatrix;//private int[][]饥饿;需要考虑优化private int饥饿时间;private static int timeStep=0;公共海洋(int I,int j,int饥饿时间){this.width=i;this.height=j;this.oceanMatrix=new int[j][i];this.饥饿时间=饥饿时间;for(int col=0;col