我被要求创建两个主要方法,第二个main方法包含一个我需要打印出来的ArrayList。程序只调用第一个main方法,所以我认为我需要从那里调用ArrayList。因为第二个ArrayList包含在main方法中,所以我不能创建一个etter方法,我可以使用它来调用该方法,所以我对如何调用该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);
}
}
所需的输出
Sam, 5
George, 3
Wesley, 7
Pat, 10
鹦鹉课
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;
}
}
必须以这种方式设计程序,因为我的任务坚持创建第二个主要方法,该方法具有此ArrayList。任何有关如何输出ArrayList属性的帮助都将非常感谢,谢谢。
答案 0 :(得分:2)
您可以调用属于另一个类的主方法,如下所示
ClassName.main(args);
更改您的主要课程,如下所示
public class Main {
public static void main(String[] args)
{
Demo.main(args);
}
}
您可以在Demo Class的main方法中打印数组列表,否则如果要从Main类打印它,则必须使ArrayList可用于Class main
答案 1 :(得分:1)
进行此类更改:
第二主要方法:
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());
}
}
}
我无法看到你的其他课程,但如果它有帮助就试试。