Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [JAVA] - Creare Traduttore Italiano-Lamer

    Ciao a tutti...

    premetto che ho iniziato Java (e a programmare in generale) da pochissimo, per cui scusate se la cosa è molto da "noob"...
    Mi sto cimentando con un esercizio molto simpatico : creare un traduttore Italiano-Lamer...
    Mi spiego: per esempio, alla parola "sei" dovrei sostituire "6"...oppure alla parola "elite" sostituire "l33t". Si chiama "Leetspeak" QUI trovate info su questo simpatico tipo di traduzione.

    Per ora abbiamo visto solo le strutture base di Java per cui non posso utilizzare classi specifiche o altro (solo 'Scanner' e 'Random').

    Questa è l'indicazione per il codice che il professore ci ha fornito:

    codice:
    public class Lamer
    {
        public static void  main( String[] args)
        {
            Scanner in = new Scanner( System.in );
            String s = in.nextLine();
            System.out.println( lamerizeString( s ));
        }
    
        public static String lamerizeString( String s )
        {
            StringBuilder builder = new StringBuilder( s.toLowerCase());
            for( ; ; )
            {
                int index = builder.indexOf( "sei" );
                if(index == -1 ) break;
                builder.replace( index, index+3, "6" );
            }
            return builder.toString();
        }
    }
    Mi sapreste aiutare o magari (anzi sarebbe meglio) darmi qualche suggerimento?? come faccio a ripetere questo codice per le altre parole. O come sostituire le lettere ogni qual volta si presenti nel testo una lettera da sostituire??

    Grazie!

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    potresti usare i tag code per postare il codice??
    Thanks

    puoi usare i metodi della classe String? ne ha uno che si chiama replace e uno replaceAll, entrambi farebbero al caso tuo.

    Altrimenti ti consiglio di scrivere qualcosa di molto simile (non è difficile) e ti dò un suggerimento:

    hai in input 2 cose, la stirnga su cui lavori (quella che hai letto in ingresso) e la stringa che devi sostituire.

    codice:
    public String toReplace(String input, String pattern){
       StringBuilder result = new StringBuilder(); 
       int index = input.indexOf(pattern); 
       int oldIndex = 0; 
       while (index > 0){
           result.append(input.substring(oldIndex, index); 
           oldIndex = index; 
           index = input.indexOf(pattern); 
       }
       return result.toString(); 
    }
    non l'ho testato, l'ho scritto di getto, ma può essere una base se non puoi usare le due funzioni che ti ho suggerito

  3. #3
    E' vero!! Scusate per i tag code! Non ci ho proprio pensato, che fesso!

    Grazie per i suggerimenti...

    Sì, i metodi della classe String posso usarli....mi hai dato un'ottimo suggerimento e anche il codice (per quello che posso saperne io ....) mi sembra ottimo!

    grazie davvero, stasera appena torno dal lavoro provo ad implementare qualcosina...

    Ovviamente se hai altri suggerimenti, scrivi pure....


    Thanks

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.