Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2006
    Messaggi
    37

    [JAVA] Ultimo carattere di una stringa

    Salve ragazzi, ho il seguente dubbio: da tastiera dovrei inserire delle stringhe binarie.
    Inizialmente dovrei effettuare un controllo sull'ultimo carattere dellla stringa inserita, controllando che quest'ultimo sia uno '0'.
    C'è una funzione che mi estrapoli l'ultimo carattere di una stringa inserita in modo da poter effettuare questo benedetto controllo? Oppure mi consigliate di inserire il tutto in un array e di controllare l'n-esimo carattere?
    Avevo notato la charAt, ma bisogna per forza inserire l'indice.

    Altro dubbio: in mezzo alla stringa vorrei al massimo farsi che ci siano due zeri e due uni consecutivi e nn di piu.
    Andrebbe bene se creo un ciclo for che mi controlla se l'iesimo carattere è uguale a 1 e l'iesimo+1 è uguale a uno la stringa è corretta. Stessa cosa per quanto riguarda lo 0.

    Grazie

  2. #2
    Utente di HTML.it L'avatar di nether
    Registrato dal
    Dec 2006
    Messaggi
    376
    codice:
    char c = nomeStringa.charAt(nomeStringa.length()-1);
    per il secondo controllo devi contare quante occorrenze dello stesso carattere hai in fila.. se arrivi a contare fino a 3, la stringa e' errata.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2006
    Messaggi
    37
    Originariamente inviato da nether
    codice:
    char c = nomeStringa.charAt(nomeStringa.length()-1);
    per il secondo controllo devi contare quante occorrenze dello stesso carattere hai in fila.. se arrivi a contare fino a 3, la stringa e' errata.
    quindi nn va bene una cosa del tipo:


    codice:
    for ( int i=0; i<nomeStringa.lenght; i++ ){
    
    if ( nomeStringa.charAt(i) = '0' && nomeStringa.charAt(i+1) = '0' ) valid = true;
    else if  ( nomeStringa.charAt(i) = '1' && nomeStringa.charAt(i+1) = '1' ) valid = true; }

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da Xidius
    quindi nn va bene una cosa del tipo:


    codice:
    for ( int i=0; i<nomeStringa.lenght; i++ ){
    
    if ( nomeStringa.charAt(i) = '0' && nomeStringa.charAt(i+1) = '0' ) valid = true;
    else if  ( nomeStringa.charAt(i) = '1' && nomeStringa.charAt(i+1) = '1' ) valid = true; }
    No, perché così vai "fuori" dalla stringa con un indice errato.

    codice:
    import java.util.regex.*;
    ....
    
    Pattern p = Pattern.compile ("0{3,}|1{3,}");
    Matcher m = p.matcher (tua_stringa);
    
    if (m.find ())
    {
        // Ci sono più di 2 '0' oppure più di 2 '1'
    }
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2006
    Messaggi
    37
    grazie mille, ho aggiunto altri miei controlli e funziona

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.