使用循环,我可以创建
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
,您会很高兴。
我在查看this example并想知道第一行的作用:private SiteStreamsListener listener = new SiteStreamsListener() { 看起来您可以以这种方式声明其他方法或重写方法。例如,我可以做以下事情吗?ArrayList myList = new ArrayList() { @Override Str…
“ finally”子句在异常处理中的好处 - java作为对此的新手,在异常处理中使用finally子句有什么好处。换句话说,什么时候最好使用它,什么时候最好不要使用它。我唯一想到的就是关闭输入/输出流……还有其他好处? 参考方案 StinePike撰写的任何内容都很完美,但我想在其中添加一些内容。无论是否发生异常,都将执行finally块...。因此,我们可以通过在try块以及catch block()中写入…
为什么新的FileWriter(“ abc.txt”)创建一个新文件而新的File(“ abc.txt”)却没有? - javanew File("abc.txt")不会创建实际文件,而new FileWriter("abc.txt")会在磁盘上创建文件。在查看源代码时,我发现new FileWriter("abc.txt")最终创建了一个文件,如new File() 参考方案 类java.io.File的构造方法不会在磁盘…
string.split(“ _(B”) - java基本上,这行代码行不通,我不确定原因: String[] stringHolder = string.split("_(B"); 我收到此错误:索引3附近的未封闭组此行代码有效: String[] stringHolder = string.split("_B"); 因此,这使我相信它是由“(”引起的。有人可以告诉我如…
转换汉字时出现Java桥代码错误:“ utf-8”编解码器无法解码位置0的字节0xc0:无效的起始字节 - java我们正在接收不同编码格式的数据,目前我们正在使用以下提到的Java编码https://docs.oracle.com/javase/1.5.0/docs/guide/intl/encoding.doc.html我们正在使用python,因此请将此编码逻辑更改为python。由于python不支持中文字符编码,因此与我们使用的Java编码Cp935等效java…