gpt4 book ai didi

java - 无法弄清楚为什么我会得到不兼容的类型

转载 作者:行者123 更新时间:2023-12-01 08:13:43 24 4
gpt4 key购买 nike

我在尝试根据以下说明编写方法时遇到不兼容类型错误:“一种采用 int 参数并在屏幕上显示猫的详细信息(姓名、出生年份等)的方法”存储在该索引位置。此方法必须确保参数是有效的索引位置,如果不是,则显示错误消息。 (程序中有两个类相互使用)。我已经在下面评论了我收到错误的地方。我希望得到一些帮助。谢谢。

import java.util.ArrayList;


public class Cattery
{
// instance variables - replace the example below with your own
private ArrayList <Cat> cats;
private String businessName;

/**
* Constructor for objects of class Cattery
*/
public Cattery(String NewBusinessName)
{
cats = new ArrayList <Cat>();
NewBusinessName = businessName;
}

public void addCat(Cat newCat){

cats.add(newCat);
}

public void indexDisplay(int index) {
if((index >= 0) && (index <= cats.size()-1)) {
index = cats.get(index); //incompatible types?
System.out.println(index);
}
else{
System.out.println("Invalid index position!");
}
}

public void removeCat(int indexremove){
if((indexremove >= 0) && (indexremove <= cats.size()-1)) {
cats.remove(indexremove);
}
else{
System.out.println("Invalid index position!");
}
}

public void displayNames(){
System.out.println("The current guests in Puss in Boots Cattery:");
for(Cat catNames : cats ){
System.out.println(catNames.getName());

}
}
}

最佳答案

因为你已经这样定义了猫:

 cats = new ArrayList <Cat>();

这将在 index 位置返回一只猫:

cats.get(index);

但是您已将索引定义为 int 并为其分配了一只猫:

 index = cats.get(index);

从列表中获取项目的正确方法是:

Cat cat = cats.get(index);

要打印检索到的猫的名字,只需运行:

System.out.println(cat.getName());

关于java - 无法弄清楚为什么我会得到不兼容的类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15197861/

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