Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    1

    [JAVA] Problema creazione traduttore

    Salve,
    avevo intenzione di costruire un traduttore dall'inglese all'italiano (una cosa un po' grossolana) del tipo una parola inglese corrisponde ad una parola italiana e se non lo si trova si scrive la parola italiana in questo modo: /*parola*/.

    Ora, ci sono due file di testo, un testo di inglese con delle frasi:

    I love you
    the dog sleep
    the cat is on the table
    my name is Earl
    e un dizionario:

    I io
    love amo
    you tu
    the il
    dog cane
    sleep dorme
    cat gatto
    is è
    on su
    table tavolo
    name nome
    E questo è il codice Java:

    codice:
    import java.io.File;
    import java.io.FileNotFoundException;
    import java.util.Scanner;
    import java.io.PrintWriter;
    
    public class Traduttore
    {
        public static void main(String[] args) throws FileNotFoundException
        {
            Scanner testo = new Scanner(new File(args[1]));
            Scanner dizionario = new Scanner(new File(args[0]));
            PrintWriter testoTradotto = new PrintWriter(new File("testoTradotto.txt"));
            String parola = "";
            boolean tradotto = false;
            while(testo.hasNext())
            {
                parola = testo.next();
                while(dizionario.hasNextLine())
                {
                    String parolaTradotta = dizionario.next();
                    if (parolaTradotta.compareToIgnoreCase(parola) == 0)
                    {
                        parola = dizionario.next();
                        tradotto = true;
                    }
                }
                if(tradotto == false){parola = ("/*"+parola+"*/");}
                testoTradotto.print(parola+" ");
            }
            testoTradotto.close();
            testo.close();
            dizionario.close();
        }
    
    }
    Se avvio il programma però mi traduce solo la prima parola, dov'è il problema secondo voi?

    Ringrazio anticipatamente per la pazienza data

  2. #2
    Premetto che il tuo programma resterà grossolano in quanto i traduttori sono materia di studio e applicazione di concetti dell'Intelligenza Artficiale e non mi dilungo.

    La soluzione più banale che riguarda il problema di gestire un dizionario e la persistenza dei suoi dati è semplicemente questa:
    1) Usa la classe java.util.HashMap
    2) Salva questo oggetto o l'istanza di una tua eventuale classe wrapper in un file sfruttando i flussi di oggetti.

  3. #3

    Re: [JAVA] Problema creazione traduttore

    Originariamente inviato da enrik8
    Se avvio il programma però mi traduce solo la prima parola, dov'è il problema secondo voi?
    Il problema sta nel fatto che dopo il primo ciclo lo Scanner consuma il buffer.

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.