如何让一个类从另一个类中的对象数组中打印出字符串变量



有了这个,我可以打印该类中每个对象的名称列表,但我希望能够在锦标赛类中的方法中调用变量,然后在GameUI中,根据用户输入打印包含变量名称的方法。

public class Reserve {
private List<Dragon> dragonReserve;
private List<Wizard> wizardReserve;
private List<Warrior> warriorReserve;
//private List<Champions> champions;
public Reserve() {
wizardReserve = new ArrayList<>();
dragonReserve = new ArrayList<>();
warriorReserve = new ArrayList<>();
//champions = new ArrayList<>();
wizardReserve.add(new Wizard("Ganfrank", 7, true, "transmutation"));
wizardReserve.add(new Wizard("Rudolf", 6, true, "invisibility"));
wizardReserve.add(new Wizard("Neon", 2, false, "translocation"));
warriorReserve.add(new Warrior("Elblond", 1, 150, "sword"));
warriorReserve.add(new Warrior("Flimsi", 2, 200, "bow"));
warriorReserve.add(new Warrior("Argon", 9, 900, "mace"));
dragonReserve.add(new Dragon("Drabina", 7, false));
dragonReserve.add(new Dragon("Golum  ", 7, true));
dragonReserve.add(new Dragon("Xenon  ", 7, true));
}
public List<Dragon> getDragonReserve() {
return dragonReserve;
}
public List<Wizard> getWizardReserve() {
return wizardReserve;
}
public List<Warrior> getWarriorReserve() {
return warriorReserve;
}

}

public class GameUI {
private static Scanner myIn = new Scanner(System.in);
public static void main(String[] args) {
int choice;
String playerName;
String output = "";
int result = -1;
try {
System.out.println("Enter player's name");
String s = myIn.nextLine();
//myIn.nextLine();
choice = 100;
while (choice != 0) {
choice = getMenuItem();
if (choice == 1) {
tr.getReserve().getDragonReserve().forEach(System.out::println);
tr.getReserve().getWizardReserve().forEach(System.out::println);
tr.getReserve().getWarriorReserve().forEach(System.out::println);
}
public class Tournament implements TOC 
{
public String getReserve() {
Reserve reserve = new Reserve();
return reserve;
}
}

我不完全理解你想要什么,但我认为这会解决你的问题。

预备班。

public class Reserve {
private List<Dragon> dragonReserve;
...
public Reserve() {
dragonReserve = new ArrayList<>();
dragonReserve.add(new Dragon("Drabina", 7, false));
...
}
public List<Dragon> getDragonReserve() {
return dragonReserve;
}
...
}

GameUI类。

public static void main(String[] args) {
Tournament tournament = new Tournament();
...
if (choice == 1) {
tournament.getReserve().getDragonReserve().forEach(System.out::println);
}
...
}

锦标赛课程。

public class Tournament implements TOC {
public Reserve getReserve() {
Reserve reserve = new Reserve();
return reserve;
}
}

此外,您还可以覆盖对象中的toString((函数。

最新更新