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

    Aiutino con separatore parole

    Ciaoa tutti
    In un problema mi si chiede di trovare dei termini significativi in un file testo di lunghezza non nota e che deve essere fornito in input all'applicazione in cui le parole sono separate da almeno un carattere tra spazio, punto, virgola ecc.. come potrei scrivere il codice?
    Cioè da quanto ho capito io devo dire al programma che quando legge il file testo deve separare ogni parola con un segno tra quelli ma non sono sicuro.

    GRazie anticipatamente

  2. #2
    Poi sempre nello stesso programma io dipo aver dichiarato la classe dichiaro una serie di variabili di istanza in questo modo

    public class Individua
    {
    private String nomeFileTermini; //nome del file che contiene i termini
    private String nomeFileTesto; //nome del file che contiene il testo
    private String[] Termini; // array che contiene i termini del file contenente i
    //termini e di lunghezza uguale a quella del file - 1 poichè la prima riga del file contiene il
    // numero dei termini
    private Scanner in;
    private FileReader r;

    Ora in un problema simile il costruttore riceve come parametro l'array args del main e inizializza le variabili tramite quello ma quì come potrei fare? Come faccio ad inizializzare due variabili di tipi testo con nomi diversi e l'array Termini?

    C'è qualche variabile he ho dimenticato di dichiarare o magari che ho dichiarato in più?


    Grazie anticipatamente

  3. #3
    Scusa, fammi capire: devi dividere una frase in singole parole?

    del tipo:

    "Ciao, questa è una frase di esempio"

    /////////////////////////////////////////
    Ciao
    questa
    è
    una
    frase
    di
    esempio
    Gutta cavat lapidem
    [La goccia scava la pietra]
    ***
    (Ovidio)

  4. #4
    no fai conto che quetsa frase che ho scritto è una parte del testo allora devo inserire all'interno del testo uno tra quei separatori uno tra ogni parola
    es
    no,fai,conto,che.questa,frase ecc...
    capito?
    ciao

  5. #5
    Utente di HTML.it L'avatar di Pastore12
    Registrato dal
    Oct 2008
    Messaggi
    1,051
    Cerca di comprendere la difficoltà che incontro nel comprenderti...

    Da qualche parte hai un main, che riceve come parametri (String [] args) i nomi dei file da leggere.

    Il main instanzierà una classe Individua. Gli indica i nomi dei file e anche il vettore dei termini?
    Il passaggio delle 2 stringhe e del vettore può essere fatto con il costruttore di Individua o attraverso un metodo setParametri(...)

    Costruttore
    codice:
    class Individua
    {
      private String fileTermini;
      private String fileTesto;
      private String [] termini;
     
      public Individua (String fileTermini, String fileTesto)
      {
        this.fileTesto=fileTesto;
        this.fileTermini= fileTermini;
        calcolaTermini ();
      }
    
      ...
    }
    Metodo
    codice:
    class Individua
    {
      private String fileTermini;
      private String fileTesto;
      private String [] termini;
     
      public void setParametri (String fileTermini, String fileTesto)
      {
        this.fileTesto=fileTesto;
        this.fileTermini= fileTermini;
        calcolaTermini ();
      }
      ...
      
    }
    "Ethics are to me something private. Whenever you use it as an argument for why somebody_else should do something, you’re no longer being ethical, you’re just being a sanctimonious dick-head"
    Linus Torvalds

  6. #6
    Ok, senti ho buttato giù un pò di codice. Ovviamente ci possono stare delle migliorie (tipo usare split anzicchè i token...), vedi intanto se è quello che cerchi:

    Codice PHP:
    import java.util.*;

    public class 
    AddSeparators {
       public static 
    void main(String[] args) {
          
    String inputStr "This is a sample";
          
    String outputStr "";
          final 
    String NEW_DELIM ", ";
            
          
    // si crea un tokenizer per la stringa 'inputStr'
          
    StringTokenizer st = new StringTokenizer(inputStr);
           
          
    // vengono individuate le parole e vi si applica 
          // il nuovo delimitatore
          
    while (st.hasMoreTokens()) {
               
    outputStr += st.nextToken() +NEW_DELIM;
          }
            
          
    System.out.println(outputStr); //This, is, a, sample, 
       
    }

    Gutta cavat lapidem
    [La goccia scava la pietra]
    ***
    (Ovidio)

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 © 2026 vBulletin Solutions, Inc. All rights reserved.