Ihmettelen, miksi NetBeans antaa herjan "Void type not allowed here" vaikka koodissa on return statement. Ja joo, olen aloittelija.
public ArrayList<String> teeTilasto() { ArrayList<String> tilasto = new ArrayList<>(); for (String key: linnut.keySet()) { tilasto.add(key + " (" + linnut.get(key) + "): " + laskeMaara(key) + " havaintoa"); } return tilasto; }
Herja tulee tuolle tilasto.add-alkavalle riville.
Et ole määritellyt ArrayListin tyyppiä toisella rivillä. Java2novicen mukaan voisit kokeilla muotoa
ArrayList<String> tilasto = new ArrayList<String>();
Luultavasti laskeMaara
on void-tyyppinen metodi.
Jaska: Javassa on kyllä sallittua jättää new-avainsanan jälkeen ArrayListin tyyppiargumentti antamatta, tällöin se päätellään muuttujan tyypistä.
Aihe on jo aika vanha, joten et voi enää vastata siihen.