【发布时间】:2023-04-07 00:47:02
【问题描述】:
您好,我无法创建一个名为 catchAFish() 的方法,该方法从数组列表中随机返回一条鱼(我在其中创建了另一个添加到它的方法)。如果索引为空,则将其替换为 null。下面提供了我的尝试,这是我的池塘课程:
import java.util.ArrayList;
public class Pond
{
private int numFish;
ArrayList<Fish> fishes = new ArrayList<Fish>();
public int getFish() {
return this.numFish;
}
public Pond(int numFish) {
this.numFish = numFish;
}
public boolean isFull() {
return numFish == fishes.size();
}
public String toString() {
return("Pond with " + this.numFish + " Fish");
}
public void add(Fish fish) {
if(fishes.size() < this.numFish) {
fishes.add(fish);
}
}
public void listFish() {
// iterate for every fish in the fishes ArrayList
for (Fish fish : fishes) {
System.out.println(fish.toString());
}
}
public void catchAFish()
{
int randomNumber = 1 + (int) (Math.random() * fishes.size() - 1);
fishes.remove(randomNumber);
for(int j = 0; j < fishes.size(); j++)
{
System.out.println(fishes.get(j));
}
}
}
一切正常。当我将所有鱼添加到数组列表中时它可以工作,当我只想运行程序时它工作正常(随机索引的鱼被删除),但是当我使用以下测试器代码运行它时它不会。我不断收到错误。感谢您的帮助,谢谢!
public class PondTestProgram
{
public static void main(String args[])
{
//Create a pond with 10 fish
Pond pond = new Pond(15);
pond.add(new Fish(4, "Sunfish"));
pond.add(new Fish(25, "Pike"));
pond.add(new Fish(20, "Bass"));
pond.add(new Fish(30, "Perch"));
pond.add(new Fish(4, "Sunfish"));
pond.add(new Fish(15, "Pike"));
pond.add(new Fish(9, "Pike"));
pond.add(new Fish(12, "Bass"));
pond.add(new Fish(5, "Sunfish"));
pond.add(new Fish(12, "Sunfish"));
pond.listFish();
System.out.println("");
// Now catch 7 random fish
System.out.println("Catching 7 random fish as follows ...");
for (int i=0; i<7; i++)
System.out.println(pond.catchAFish());
System.out.println();
// Now show what is left in the pond
pond.listFish();
// Now try to catch 5 random fish ... but only 3 actually left
System.out.println("Catching 5 random fish as follows ...");
for (int i=0; i<5; i++)
System.out.println(pond.catchAFish());
System.out.println();
// Now show what is left in the pond
pond.listFish();
}
}
我在 for 循环中的 pool.catchAfish() 部分不断收到错误,我不知道为什么
【问题讨论】:
-
悲痛今天有很多可疑的问题。是否有课程讲师建议人们在这里寻求家庭作业帮助?
-
是的@PaulHicks 她说如果你被困在某个部分,你们会很棒
标签: java arrays object methods arraylist