首页 文章

如何打印出第二个主方法中的ArrayList?

提问于
浏览
1

我被要求创建两个主要方法,第二个main方法包含一个我需要打印出来的ArrayList . 程序只调用第一个main方法,所以我认为我需要从那里调用ArrayList . 因为第二个ArrayList包含在main方法中,所以我不能创建一个etter方法,我可以使用它调用该方法,因此我对如何调用该ArrayList并将其打印出来感到困惑 .

这是相关的代码:

Second main method

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));

    }

}

First main method

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);     
        }
    }

Desired output

Sam, 5
 George, 3
 Wesley, 7
 Pat, 10

Parrot class

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;
        }

    }

Animal

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;
    }

}

以这种方式设计程序是至关重要的,因为我的任务坚持创建第二个主要方法,该方法具有这个ArrayList . 任何有关如何输出ArrayList属性的帮助将非常感谢,谢谢 .

2 回答

  • 2

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

    ClassName.main(args);
    

    如下所示更改您的主要课程

    public class Main {
        public static void main(String[] args) 
        {
            Demo.main(args);
        }
    }
    

    您可以在Demo Class的main方法中打印数组列表,否则如果要从Main类打印它,则必须使ArrayList可用于Class main

  • 1

    进行这种改变:
    Second Main Method:

    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));
    
        }
    
    }
    

    First Main Method:

    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());
        }
    }
    }
    

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

相关问题