Java 如何打印驻留在第二个主方法中的ArrayList?
我被要求创建两个主要方法,第二个主要方法包含我需要打印的ArrayList。程序只调用第一个main方法,所以我想我需要从那里调用ArrayList。因为第二个ArrayList包含在一个主方法中,我无法创建一个更好的方法来调用该方法,所以我对如何调用该ArrayList并将其打印出来感到困惑 以下是相关代码: 第二种主要方法Java 如何打印驻留在第二个主方法中的ArrayList?,java,arraylist,Java,Arraylist,我被要求创建两个主要方法,第二个主要方法包含我需要打印的ArrayList。程序只调用第一个main方法,所以我想我需要从那里调用ArrayList。因为第二个ArrayList包含在一个主方法中,我无法创建一个更好的方法来调用该方法,所以我对如何调用该ArrayList并将其打印出来感到困惑 以下是相关代码: 第二种主要方法 import java.util.ArrayList; public class Demo { public static void main(String[]
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类中的构造函数可能不相关,但我加入了它们,这样你就知道整个类是什么样子了。