Vettori

di il
6 risposte

Vettori

Come faccio a fare la ricerca di un elemento in un vettoere di caratteri?

6 Risposte

  • Re: Vettori

    Un elemento di che tipo? Per vettore di caratteri intendi una sequenza di caratteri terminata da NULL?

    Hai provato a buttar giù del codice tuo da cui partire?
  • Re: Vettori

    Scusa se ti ho risposto in ritardo,il vet e di caratteri,il fatto e che mi ritorna sempre -1 (ovviamente perche ce l ho messo)ma non capisco poiche poi mi da errore su return i.
    public int ricerca (int a) {
    for (int i=0; i<v.length; i++) {
    if (v == a)
    return i;
    }
    return -1;
    }
  • Re: Vettori

    
    public int ricerca (int a) {
            for (int i=0; i<v.length; i++) {
            if (v[i] == a)
            return i;
        }
           return -1;
        }
    qui si ved che stai passando un intero "a" e stai confrontando v (che dovrebbe essere un char), con un numero. Probabilmente devi cambiare "a".

    Comunque in genere se hai questo tipo di problemi ti conviene usare un debugger o mettere dei log che ti facciano vedere in un certo momento i valori delle due variabili che stai confrontando.

    PS: quando posti del codice, ti conviene usare il tag code che lo rende più leggibile. Inoltre, visto che esistono le classi vector e arrayList oltre ad altre, meglio parlare di array e non di vettore, giusto per non far venidere il dubbio a chi ti legge che tu stia usando un oggetto più complesso.
  • Re: Vettori

    Scusami ho fatto un errore volevo dire che il vettore e di interi.il prblema e che non sto capendo se sto sbagliando il metodo o ce un errore,sostanzialmente il mio problema e cercare un elemnto nel vettore .lei che mi consiglierebbe di fare?(log che significa?)
  • Re: Vettori

    groove ha scritto:


    public int ricerca (int a) {
        for (int i=0; i<v.length; i++) {
            if (v[i] == a)
                return i;
        }
        return -1;
    }
    Se v è un array int[] (lo hai sicuramente come variabile "di istanza") e vuoi cercare il valore a (parametro) nell'array per restituire l'indice se il valore è trovato (-1 = non trovato), allora il codice è CORRETTO.
  • Re: Vettori

    groove ha scritto:


    Scusami ho fatto un errore volevo dire che il vettore e di interi.il prblema e che non sto capendo se sto sbagliando il metodo o ce un errore,sostanzialmente il mio problema e cercare un elemnto nel vettore .lei che mi consiglierebbe di fare?(log che significa?)
    Concordo con andbin sul fatto che in caso di interi il codice sia corretto.

    Per log intendo qualcosa del tipo
    System.out.printline("v[i] " + v[i] + " a "+ a ); 
    messo dentro il ciclo for, così ti stampa come output di eleborazione il valore delle due variabili ad ogni iterazione, così capisci il motivo per cui non lo trova.
Devi accedere o registrarti per scrivere nel forum
6 risposte