В основном я знаю, как это сделать с помощью ArrayList, но для этого с Array я полностью в тупике.Попытка добавления массива строк через другой класс с использованием HashMap
import java.util.HashMap;
import java.util.Set;
import java.util.Iterator;
import java.util.Map;
import java.util.Collection;
public class NobelPrizeWinners
{
private HashMap<String, PrizeWinners[]> winners;
public NobelPrizeWinners()
{
winners = new HashMap<String, PrizeWinners[]>();
PrizeWinners[] name = new PrizeWinners[3];
name[0] = new PrizeWinners("hey" , "Hey");
winners.put("2008", name);
}
}
public void displayAllYearsAndWinners(){
Set<String> years = winners.keySet();
for(String year : years){
PrizeWinners [] list = winners.get(year);
for(PrizeWinners[] names : list){
System.out.println(year + " " + names);
}
}
}
Это возвращает только адрес памяти не фактический Strings (Класс призёров имеет два строковых параметры в конструкторе, а также два метода, установленных для имени и фамилии)
Я чувствую, что я» m довольно близко, поскольку он возвращает «2008» три раза, но только адрес памяти или нуль других трех раз (так как я еще не добавил другие 2 массива, но все еще тестировал, чтобы убедиться, что он работает)
Любая помощь будет будем очень благодарны, я чувствую, что это имя или метод, который мне нужно назвать, что я не уверен.
Когда то, что возвращает? Где ваше заявление 'return'? – mittmemo
У меня есть отдельный метод, который печатает имя в середине по два для каждого цикла, поэтому я думаю, что он фактически не возвращает столько же, сколько печатает через System.out.println, и когда он печатает его, он печатает адрес памяти. – Jordan
Вы также должны включить этот метод. – mittmemo