gpt4 book ai didi

Java:如何创建 10 只猫?当 Cat ("cat"+ i) = "cat name"不像其他语言那样工作

转载 作者:行者123 更新时间:2023-12-04 17:51:39 28 4
gpt4 key购买 nike

使用循环,我可以创建

My cat is: Cat1
...
My cat is: Cat1

但是,当我尝试使用

  Cat ("cat"+i) = new Cat("Cat" + i);

我犯错了....

那么,更正我的代码以生成的最简单方法是什么

cat1 ... cat10 cat instances?


public class TestCat{
public static void main(String [] args){

for (int i=1; i<10; i++){
//Cat ("cat"+i) = new Cat("Cat 1");
Cat cat1 = new Cat("Cat 1");
System.out.println("My cat is: " + cat1 );
}
}
}

class Cat{

static String catName;
public Cat(String catName){
this.catName=catName;
}
public String toString(){
return catName;
}
}

对不起....我应该说

如何创建十个 10 Cat 实例.....cat1, ...cat2.....因为在其他语言中,我可以使用 "cat"||i = ..., 来创建不同的变量,我想知道如何用 Java 做类似的事情....

换句话说,我想通过考虑循环信息来命名我将要创建的实例。

最佳答案

如果您不知道您将拥有多少只猫,请使用集合。

public class TestCat
{
public static void main(String [] args)
{

Cat[] cats = new Cat[10];
Vector catsUnlimited = new Vector(10);
Cat myCat = null;

for (int i=1; i<11; i++)
{
myCat = new Cat("Cat" + i);
cats[i-1]= myCat;

catsUnlimited.addElement(new Cat("Cat" + i));

System.out.println("My cat is: " + cats[i-1] );
}

System.out.println("Known cats");
for (int x = 0; x < catsUnlimited.size(); x++)
{
System.out.println("Cat #" + (x+1) + ":" +(Cat)catsUnlimited.get(x));
}
}
}

注意:这段代码产生了错误的结果,让我很困惑,直到我仔细研究了 Cat 类。

My cat is:  Cat1
My cat is: Cat2
My cat is: Cat3
My cat is: Cat4
My cat is: Cat5
My cat is: Cat6
My cat is: Cat7
My cat is: Cat8
My cat is: Cat9
My cat is: Cat10
Known cats
Cat #1:Cat10
Cat #2:Cat10
Cat #3:Cat10
Cat #4:Cat10
Cat #5:Cat10
Cat #6:Cat10
Cat #7:Cat10
Cat #8:Cat10
Cat #9:Cat10
Cat #10:Cat10

罪魁祸首是:

public class Cat
{
static String catName;

删除static,你就成功了。

关于Java:如何创建 10 只猫?当 Cat ("cat"+ i) = "cat name"不像其他语言那样工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4157675/

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