Come da esercizio : Scrivere il codice del metodo public int contaOmonimiDi(String nome) affinche' restituisca il numero di nomi dell'array nomi che sono uguali alla stringa nome passata come parametro.
avendo questa parte del codice già definita :
io ho scritto il seguente metodo :codice:public class Persone { private String[] nomi; public Persone(int n) { this.nomi = new String[n]; } public int contaOmonimiDi(String nome) { // deve restituire il numero di nomi dell'array che // sono uguali al nome passato come parametro } public void aggiungiNome(int indice, String nome){ this.nomi[indice] = nome; } }
e il seguente main per eseguire un Test :codice:public int contaOmonimiDi(String NomeDaTrovare) { // deve restituire il numero di nomi dell'array che // sono uguali al nome passato come parametro int i; int count=0; for (i=0;i<this.nomi.length;i++) { if (this.nomi[i].equals(NomeDaTrovare)) count++;} return count;}
mi dice: "Cannot make a static reference to the non-static method aggiungiNome(int, String) from the type Persone"codice:public static void main(String[] args) { new Persone(5); aggiungiNome(0,"Antonio"); aggiungiNome(1,"Marco"); aggiungiNome(2,"Matteo"); aggiungiNome(3,"Marco"); aggiungiNome(4,"Luca"); contaOmonimiDi("Marco"); }
e : "Cannot make a static reference to the non-static method contaOmonimiDi(String) from the type Persone"
secondo voi come posso fare per risolvere? (avevo pensato ad inserire un metodo getter ma penso di stravolgere il codice dell'esercizio poi....)
Ringrazio anticipatamente per le risposte![]()

Rispondi quotando
