Visualizzazione dei risultati da 1 a 5 su 5

Discussione: array-richiamo metodi

  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2012
    Messaggi
    8

    array-richiamo metodi

    Ciao, ho un problema con un programmino(scusatemi sono proprio alle prime armi)
    Devo creare un array di caratteri (per simulare le stringhe)...
    La classe Stringa (probabilmente il metodo presenza è sbagliato ma non è questo ora il mio problema) non mi da problemi, nel senso che compilando non mi trova errori, invece nella classe di test mi dice:

    codice:
    TestStringa.java:24: cannot find symbol
    symbol  : method presenza(char)
    location: class char[]
                    prova.presenza('g');
                         ^
    classe stringa:

    codice:
    public class Stringa
    {	private char[] caratteri;
    
    	public Stringa (char[] caratteri)							//costruttore
    	{	this.caratteri=caratteri;
    	}
    	
    	public char[] getStringa()
    	{	return this.caratteri;	
    	}
    	
    	public void setStringa (char[] nuovicaratteri)
    	{	this.caratteri=nuovicaratteri;
    	}
    
    	public int presenza(char t)
    	{	int target='t';
    		boolean found=false;
    		int index=0;
    		while (index<20 && !found)
    			if (caratteri[index]==target)
    				found=true;
    			else
    				index++;
    		if (found)
    			System.out.println(index);
    			return index;
    		}
    }

    e la classe di test

    codice:
    public class TestStringa
    {	public static void main (String args[])
    	{	char[] prova=new char[20];
    		prova[0]='p';
    		prova[1]='r';
    		prova[2]='o';
    		prova[3]='v';
    		prova[4]='a';
    		prova[5]='/';
    		prova[6]='/';
    		prova[7]='/';
    		prova[8]='/';
    		prova[9]='/';
    		prova[10]='/';
    		prova[11]='/';
    		prova[12]='/';
    		prova[13]='/';
    		prova[14]='/';
    		prova[15]='/';
    		prova[16]='/';
    		prova[17]='/';
    		prova[18]='/';
    		prova[19]='/';
    		prova.presenza('g');
    	}
    	
    }
    sapete aiutarmi?

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,326

    Moderazione

    Il codice va postato all'interno degli appositi tag CODE (senza usare tag per colori o dimensione font, ecc).

    Ad ogni modo, stai cercando di richiamare il metodo "presenza()" su un oggetto di tipo "array di caratteri". Gli array non posseggono quel metodo... quel metodo va richiamato su un oggetto di tipo Stringa.

    codice:
    char[] arrayDiCaratteri = {'a', 'b', 'c'};   // O quel che vuoi
    Stringa s = new Stringa( arrayDiCaratteri );
    s.presenza('b');
    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: array-richiamo metodi

    Originariamente inviato da hachi85
    Ciao, ho un problema con un programmino(scusatemi sono proprio alle prime armi)
    Ok, allora innanzitutto posta il codice senza colori particolari e tra i tag [ CODE ] [ /CODE ] (senza gli spazi che ho messo io qui)

    Originariamente inviato da hachi85
    probabilmente il metodo presenza è sbagliato
    Sì è sbagliato e in diversi punti.

    Originariamente inviato da hachi85
    TestStringa.java:24: cannot find symbol
    symbol : method presenza(char)
    location: class char[]
    prova.presenza('g');
    ^
    presenza stai cercando di invocarlo sul tuo array char[] (che non ha senso):

    char[] prova=new char[20];

    Non hai istanziato la tua Stringa.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2012
    Messaggi
    8
    grazie a tutti, ora non mi segna più l'errore...
    se ho capito bene (scusate, son zuccona) io avevo creato l'array, ma non gli avevo detto che questo array doveva essere il mio oggetto stringa, ehmm, giusto?

  5. #5
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da hachi85
    io avevo creato l'array, ma non gli avevo detto che questo array doveva essere il mio oggetto stringa, ehmm, giusto?
    Un array char[] lo devi comunque istanziare e popolare, poi dovrai passarlo ad un tuo oggetto Stringa (tramite costruttore).
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.