Metodi legati alle strighe

di il
25 risposte

25 Risposte - Pagina 2

  • Re: Metodi legati alle strighe

    Lo so che non funziona, ma è la prima volta che utilizzo l'indexOF. Come faccio a far passare il carattere di i-esimo nell'indexOF per percarlo nella seconda stringa?
    P.S. ti mando una funzione simile per farti capire cosa deve uscire di simile
    public static int count(String m) {
    int word = 1;
    int i = 0;
    for (i = 0; i < m.length() - 1; i++) {
    if (m.charAt(i) == ' ' && m.charAt(i + 1) != ' ') {
    word++;
    }
    }
    return word;

    }
  • Re: Metodi legati alle strighe

    Sandro99 ha scritto:


    Come faccio a far passare il carattere di i-esimo nell'indexOF per percarlo nella seconda stringa?
    public int indexOf(int ch)

    ch è il carattere da cercare. Quindi ... il "char at" dalla prima stringa.
  • Re: Metodi legati alle strighe

    Ti mando il sito che mi hanno passato della funzione, non riesco a realizzarla e da quello che ho visto te hai molta esperienza sul campo, puoi aiutarmi?
    https://www.visualfoxpro.com/getwordcount.htm
  • Re: Metodi legati alle strighe

    Sandro99 ha scritto:


    Ti mando il sito che mi hanno passato della funzione, non riesco a realizzarla
    Se fai un metodo:

    public static int stringWordCount(String stringa, String separatori)

    Allora separatori è la stringa su cui invocherai indexOf a cui passi come argomento il carattere i-esimo preso da stringa (usando charAt).
    Capisco che per chi inizia non è facile ma (ri)leggi bene la precedente frase.
  • Re: Metodi legati alle strighe

    Grazie mille, mi hai fatto capire cosa sbagliavo e ho risolto, spero di poterti chiedere un ultima cosa.
    Se la prima stringa è presente solo un delimitatore e nessun altro tipo di carattere come faccio a settare la variabile "word" a 0?
  • Re: Metodi legati alle strighe

    Sandro99 ha scritto:


    Se la prima stringa è presente solo un delimitatore e nessun altro tipo di carattere come faccio a settare la variabile "word" a 0?
    A dire il vero, per fare la cosa buona/logica, dovresti sempre partire con il contatore 0 e poi incrementi solo quando:
    --> (hai trovato un separatore OR la fine della stringa) AND la sottostringa catturata non è vuota
  • Re: Metodi legati alle strighe

    C'è un problema. Con la variabile di conto a 0 il risultato mi torna sembra con un numero in meno
  • Re: Metodi legati alle strighe

    Sandro99 ha scritto:


    C'è un problema. Con la variabile di conto a 0 il risultato mi torna sembra con un numero in meno
    Dipende cosa "conteggi". Se incrementi alla occorrenza di un separatore, allora devi incrementare anche alla fine della stringa (dove non c'è o non è detto che ci sia il separatore). Se rivedi il mio esempio, io prendo la sottostringa ad ogni separatore e a fine stringa.
  • Re: Metodi legati alle strighe

    Ok , ho provato a realizzare la funzione con questo metodo, ma il problema rimane. Anche se modifico l'if per verificare se sono alla fine della stringa continua a venirmi fuori 1 invece di 0 solo se la funzione è piena di caratteri speciali.
    ("aa.bb.cc",".") = 3 ; giusto
    ("++-","+-#") =1 ; sbagliato
  • Re: Metodi legati alle strighe

    Sandro99 ha scritto:


    continua a venirmi fuori 1 invece di 0 solo se la funzione è piena di caratteri speciali.
    Mostra il codice, altrimenti non si riesce a capire il problema.
  • Re: Metodi legati alle strighe

    If(n.indexOf(m.charAt(i))> -1 && n.indexOf(m.charAt(i+1)) == -1){
    word++;
    }


    if(n.indexOf(m.charAt(i))> -1 && n.indexOf(m.charAt(i+1)) == -1 || i == m.length()-1{
    word++;
    }
Devi accedere o registrarti per scrivere nel forum
25 risposte