Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/314.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 如何打印驻留在第二个主方法中的ArrayList?_Java_Arraylist - Fatal编程技术网

Java 如何打印驻留在第二个主方法中的ArrayList?

Java 如何打印驻留在第二个主方法中的ArrayList?,java,arraylist,Java,Arraylist,我被要求创建两个主要方法,第二个主要方法包含我需要打印的ArrayList。程序只调用第一个main方法,所以我想我需要从那里调用ArrayList。因为第二个ArrayList包含在一个主方法中,我无法创建一个更好的方法来调用该方法,所以我对如何调用该ArrayList并将其打印出来感到困惑 以下是相关代码: 第二种主要方法 import java.util.ArrayList; public class Demo { public static void main(String[]

我被要求创建两个主要方法,第二个主要方法包含我需要打印的ArrayList。程序只调用第一个main方法,所以我想我需要从那里调用ArrayList。因为第二个ArrayList包含在一个主方法中,我无法创建一个更好的方法来调用该方法,所以我对如何调用该ArrayList并将其打印出来感到困惑

以下是相关代码:

第二种主要方法

import java.util.ArrayList;
public class Demo {

    public static void main(String[] args) {
        ArrayList<Animal> animalGroup = new ArrayList<>();

        animalGroup.add(new Wolf("Sam", 5));
        animalGroup.add(new Parrot("George", 3));
        animalGroup.add(new Wolf("Wesley", 7));
        animalGroup.add(new Parrot("Pat", 10));

    }

}
    public class Main {

        public static void main(String[] args) {

            Demo.main(args); // populate the ArrayList in Demo Class main method 2.
    ArrayList<Animal> animalGroup = Demo.animalGroup; // Retrieve the ArrayList in Demo class.
System.out.println(animalGroup);     
        }
    }
鹦鹉班

  public class Parrot extends Omnivore
    {   

        private final int age;
        private final String name;

    Parrot(String name, int age)   
    {
        this.age = age;
        this.name = name;
    }     
    Parrot(int i)   
    {
        this("Polly", i);
    }  

        public String getName() 
        {
            return name;
        }
        public int getAge() 
        {
            return age;
        }

    }
动物

abstract public class Animal implements Comparable<Animal>
{

    int age;
    String name;
    String noise;

Animal(String name, int age)   
{
    this.age = age;
    this.name = name;
} 

Animal()
{

  this("newborn", 0);
}

public String getName() {
        return name;
    }
  public int getAge()
    {
        return age;
    }

    public void setName(String newName) {
        name = newName;
    }

}
抽象公共类
{
智力年龄;
字符串名;
弦噪声;
动物(字符串名称,整数年龄)
{
这个。年龄=年龄;
this.name=名称;
} 
动物()
{
这(“新生儿”,0);
}
公共字符串getName(){
返回名称;
}
公共整数getAge()
{
回归年龄;
}
public void setName(字符串newName){
name=newName;
}
}

程序的设计必须如此,因为我的任务坚持创建包含此ArrayList的第二个主要方法。非常感谢您对如何输出ArrayList属性的任何帮助。

您可以调用属于另一个类的main方法,如下图所示

ClassName.main(args);
public class Main {
    public static void main(String[] args) 
    {
        Demo.main(args);
    }
}
改变你的主类如下

ClassName.main(args);
public class Main {
    public static void main(String[] args) 
    {
        Demo.main(args);
    }
}
您可以在Demo类的main方法中打印数组列表,或者如果要从Class main打印数组列表,则必须使其可用于Class main进行此类更改:
第二个主要方法:

import java.util.ArrayList;
public class Demo {
    public static ArrayList<Animal> animalGroup; // make this an instance static variable to access in other class with main method;

    public static void main(String[] args) {
    animalGroup = new ArrayList<>();

    animalGroup.add(new Wolf("Sam", 5));
    animalGroup.add(new Parrot("George", 3));
    animalGroup.add(new Wolf("Wesley", 7));
    animalGroup.add(new Parrot("Pat", 10));

    }

}
public class Main {

    public static void main(String[] args) {

    Demo.main(args); // populate the ArrayList in Demo Class main method 2.
    ArrayList<Animal> animalGroup = Demo.animalGroup; // Retrieve the ArrayList in Demo class.
    for(Animal animal : animalGroup) {
         System.out.println(animal.getName()+","+animal.getAge());
    }
}
}
import java.util.ArrayList;
公开课演示{
public static ArrayList animalGroup;//将其作为实例静态变量,以便使用main方法在其他类中访问;
公共静态void main(字符串[]args){
animalGroup=newarraylist();
添加(新狼(“Sam”,5));
添加(新鹦鹉(“乔治”,3));
添加(新狼(“卫斯理”,7));
动物组。添加(新鹦鹉(“帕特”,10));
}
}
第一个主要方法:

import java.util.ArrayList;
public class Demo {
    public static ArrayList<Animal> animalGroup; // make this an instance static variable to access in other class with main method;

    public static void main(String[] args) {
    animalGroup = new ArrayList<>();

    animalGroup.add(new Wolf("Sam", 5));
    animalGroup.add(new Parrot("George", 3));
    animalGroup.add(new Wolf("Wesley", 7));
    animalGroup.add(new Parrot("Pat", 10));

    }

}
public class Main {

    public static void main(String[] args) {

    Demo.main(args); // populate the ArrayList in Demo Class main method 2.
    ArrayList<Animal> animalGroup = Demo.animalGroup; // Retrieve the ArrayList in Demo class.
    for(Animal animal : animalGroup) {
         System.out.println(animal.getName()+","+animal.getAge());
    }
}
}
公共类主{
公共静态void main(字符串[]args){
main(args);//填充演示类main方法2中的ArrayList。
ArrayList animalGroup=Demo.animalGroup;//在Demo类中检索ArrayList。
用于(动物:动物组){
System.out.println(animal.getName()+”,“+animal.getAge());
}
}
}

我看不到你的其他课程,但如果有帮助的话,试试这个。

顺便说一句,你可能会想看看这个问题。谢谢你的帮助,这与一个问题无关。当我打印出每个元素时,它们看起来像
QuestionEditor。Parrot@6d06d69c
当它们看起来像鹦鹉时,5。知道为什么吗?我想你正在打印Parrot类的哈希代码。我会编辑我的答案,我会为你做一个例子。是的。不过我想我没有叫它。你能把动物课和鹦鹉课也包括在内吗。我更新了我的问题,并加入了这些类,Animal和Parrot类中的构造函数可能不相关,但我加入了它们,这样你就知道整个类是什么样子了。