Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    1,965

    [Java] Conteggio linee file & Random

    Per contare le linee di un file (di circa 20 righe) ho usato questo codice:

    codice:
    try{
    String url = "...\\...\\parole.txt";
    FileReader fr = new FileReader(url);
    BufferedReader br = new BufferedReader(fr);
    LineNumberReader lnr = new LineNumberReader(br);
    totale = lnr.getLineNumber();
    System.out.println("Il totale delle parole e' : " + totale);
    		} catch(FileNotFoundException fnfe){ }
    ma mi ritorna 0

    poi, per stampare tre parole random, ho scritto questo

    codice:
     
    //nw è il numero di parole da scrivere
    Random casuale;
    for(int k=1;k<nw;k++){
    casuale = new Random();
    casuale2 = casuale.nextInt(totale);
    System.out.println("La parola trovata e' di numero " + casuale2);
    // o anche + casuale
    }
    e non solo non mi funzica, ma mi restituisce quest'errore su dos:


    java.lang.IllegalArgumentException: n must be positive
    at java.util.Random.nextInt(Random.java:251)
    at sparola.paint(sparola.java:66)
    at sun.awt.RepaintArea.paint(RepaintArea.java:177)
    at sun.awt.windows.WComponentPeer.handleEvent(WCompon entPeer.java:260)
    at java.awt.Component.dispatchEventImpl(Component.jav a:3678)
    at java.awt.Container.dispatchEventImpl(Container.jav a:1627)
    at java.awt.Window.dispatchEventImpl(Window.java:1606 )
    at java.awt.Component.dispatchEvent(Component.java:34 77)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java: 456)
    at java.awt.EventDispatchThread.pumpOneEventForHierar chy(EventDispatchTh
    read.java:201)
    at java.awt.EventDispatchThread.pumpEventsForHierarch y(EventDispatchThre
    ad.java:151)
    at java.awt.EventDispatchThread.pumpEvents(EventDispa tchThread.java:145)

    at java.awt.EventDispatchThread.pumpEvents(EventDispa tchThread.java:137)

    at java.awt.EventDispatchThread.run(EventDispatchThre ad.java:100)



    Ciao ciao

  2. #2
    Utente di HTML.it L'avatar di netarrow
    Registrato dal
    Apr 2004
    Messaggi
    1,425
    Ho risolto il problema:
    - per contare le righe:

    import java.io.*;
    import java.util.*;

    public class Conta {
    public static void main(String args[]) throws Exception {
    String str = new String();
    FileReader f = new FileReader("NomeFile.txt");
    BufferedReader br = new BufferedReader(f);
    Vector v = new Vector();
    try {
    while((str = br.readLine()) != null) {
    v.add(str);
    }
    } catch (IOException e) {
    e.printStackTrace();
    }
    System.out.println("Righe: " + v.size());
    }
    }

    - per trovare 3 parole a random direi di scegliere una frase a caso, dividerla in tokens e sceglierne a caso tre.(se ho tempo faccio il codice anche per questo)

    N.B Nella lista degli errori ho visto eccezioni di awt, eventi ecc...
    Controlla meglio il codice.

    Ciao
    Imparare è un'esperienza, tutto il resto è solo informazione. (Albert Einstein)

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    1,798
    Ciao keratox.
    Per contare le righe di un file utilizzando la classe
    LineNumberReader, devi leggere il file riga per riga.
    Questa classe tiene conto delle righe lette.
    Ti posto un poco di codice chiarificatore.
    codice:
    import java.io.*;
    
    public class ContaRigheFile {
    
            public static void main(String[] args) {
                    try{
                            String filename = args[0];
                            FileReader fr = new FileReader(filename);
                            BufferedReader br = new BufferedReader(fr);
                            LineNumberReader lnr = new LineNumberReader(br);
                            int totale = 0;
                            while(lnr.readLine() != null) {
                                    totale++;
                            }
                            System.out.println("Il totale delle parole e' : " + totale);
                    } catch (FileNotFoundException fnfe){
                            System.err.println("File non trovato.");
                            System.err.println(fnfe.getLocalizedMessage());
                    } catch (IOException ioe) {
                            System.err.println("Errore di I/O.");
                            System.err.println(ioe.getLocalizedMessage());
                    }
            }
    
    }
    Ciao.
    Slack? Smack!

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    1,965
    Ah grazie a tutti per gli interventi!
    Non appena avro' tempo applichero' ciò che mi avete detto al mio prog.

    ciao ciao

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