Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    55

    [java] progettino uni, non capisco cosa ho sbagliato

    ciao, ho sviluppato uno scriptino per l'esame di java e il risultato è stato questo

    insufficiente (tutti i metodi sollevano eccezioni; test non superato)

    ma non capisco cosa significhi, l'ho testato parecchio e non ho mai visto eccezioni...

    qualcuno sarebbe così gentile da dargli un occhiata? lo script è molto semplice

    ho la possibilità di correggerlo e di rimandarlo ma non capendo il problema non so cosa correggere

    queste sono le specifiche del progetto

    http://homes.dico.unimi.it/prog/turn...04/Weditor.pdf

    e questo è il mio lavoro, ci sono molti commenti ma lo script è corto

    Codice PHP:

    import java
    .util.regex.Matcher;
    import java.util.regex.Pattern;
    import java.io.File;
    import java.io.FileReader;
    import java.io.FileWriter;
    import java.io.FileNotFoundException;
    import java.io.IOException;


    /**
     * La classe Weditor è una piccola applicazione di 
     * word processing. Il costruttore riceve come unico 
     * parametro il nome del file da cui prendere il testo.
     * Il testo viene salvato nella variabile $_str_.
     * A questo punto è possibile utilizzare i metodi per
     * fare ricerche o rimpiazzare porzioni di testo.
     *
     * Esempio :
     * Weditor we = new Weditor("c:/test.txt");
     * int pos = we.findNext("parola");
     * System.out.println(pos);
     *
     * @version 0.1, 06/10/04
     */

    class Weditor {
        
        
    /** Contiene il testo prelevato dal file */
        
    String $_str_ "";
        
    /** Indica l'indice di partenza per le ricerche */
        
    int $_curPos_ 0;
        
        
    /**
         * Crea un nuova oggetto Weditor prelevando il testo 
         * da un file, il testo viene copiato nella variabile 
         * $_str_. Il parametro nomefile indica il file da cui
         * prelevare il testo, se il file non esiste viene lanciata
         * la FileNotFoundException exception.
         *
         * @param        nomefile    stringa che indica il file da cui prelevare
         *                           il testo
         * @throws       FileNotFoundException   se il file nomefile non esiste
         */
      
        
    public Weditor(String nomefilethrows FileNotFoundException
        
    {
            
    File f = new File(nomefile); 
            
    int ch;

            if(
    f.exists())
            {
                try {
                    
                    
    File inputFile = new File(nomefile);
                    
    FileReader in = new FileReader(inputFile);

                    while ((
    ch in.read()) > -1)
                            
    $_str_ += (char)ch;
                    
                    
    in.close();
                    
                } catch (
    IOException e) {
                    
    System.out.println(e.getMessage());
                }

            } else {
                throw new 
    FileNotFoundException("File non trovato.");
            }
                 
        }
        
        
    /**
         * Ritorna il testo associato al Weditor corrente come unica stringa.
         *
         * @return      il testo associato all'oggetto Weditor
         */
        
        
    public String toString()
        {
            return 
    $_str_;
        }
        
        
    /**
         * Cerca la successiva occorrenza di una data parola
         * all'interno del testo associato all' oggetto Weditor.
         * 
         * @return      la posizione della parola o -1 se la parola
         *              non viene trovata
         *
         * @see         Weditor#regexFind(String)
         */
        
        
    public int findNext(String word)
        {
            
    int[] wBounds regexFind("\\b"+word+"\\b");
            if(
    wBounds[0] >= 0){
                
    $_curPos_ wBounds[1];
                return 
    wBounds[0];
            } else
                return -
    1;
        }
        
        
    /**
         * Cerca all'interno del testo associato all' oggetto Weditor
         * la successiva parola che inizia con prefix e ne restituisce
         * la posizione
         *
         * @return      la posizione della parola trovata o -1 se
         *              non è stata trovata alcuna parola
         *
         * @see         Weditor#regexFind(String)
         */
        
        
    public int findStartWith(String prefix)
        {   
            
    int[] wBounds regexFind("\\b"+prefix+"[\\w]*");
            if(
    wBounds[0] >= 0){
                
    $_curPos_ wBounds[1];
                return 
    wBounds[0];
            } else
                return -
    1;
        }
        
        
    /**
         * Cerca all'interno del testo associato all' oggetto Weditor
         * la successiva parola che finisce con postfix e ne restituisce
         * la posizione.
         *
         * @return      la posizione della parola trovata o -1 se
         *              non è stata trovata alcuna parola
         *
         * @see         Weditor#regexFind(String)
         */

        
    public int findEndWith(String postfix)
        {   
            
    int[] wBounds regexFind("[\\w]*"+postfix+"\\b");
            if(
    wBounds[0] >= 0){
                
    $_curPos_ wBounds[1];
                return 
    wBounds[0];
            } else
                return -
    1;
        }
         
        
    /**
         * Cerca all'interno del testo associato all' oggetto Weditor
         * la successiva parola che contiene infix e ne restituisce
         * la posizione.
         *
         * @return      la posizione della parola trovata o -1 se
         *              non è stata trovata alcuna parola
         *
         * @see         Weditor#regexFind(String)
         */
        
        
    public int findContain(String infix)
        {   
            
    int[] wBounds regexFind("[\\w]+"+infix+"[\\w]+");
            if(
    wBounds[0] >= 0){
                
    $_curPos_ wBounds[1];
                return 
    wBounds[0];
            } else
                return -
    1;
        }
        
        
    /**
         * Setta il valore 0 come indice di partenza per le successive 
         * ricerche.
         */
        
        
    public void findReset()
        {
            
    $_curPos_ 0;
        }
        
        
    /**
         * Partendo dall'inizio del testo associato all'oggetto Weditor
         * sostituisce la prima occorrenza di oldS con newS e restituisce
         * l'oggetto Weditor
         *
         * @return      l'oggetto Weditor aggiornato
         *
         * @see         java.lang.String#replaceFirst(String, String)
         */
        
        
    public Weditor replaceTop(String oldSString newSint n)
        {
            
    int repl 0;
            
            while(
    repl n) {
                
    $_str_ $_str_.replaceFirst("\\b"+oldS+"\\b"newS);
                
    repl++;
            }
            
            return 
    this;
        }
        
        
    /**
         * Partendo dalla fine del testo associato all'oggetto Weditor
         * sostituisce la prima occorrenza di oldS con newS e restituisce
         * l'oggetto Weditor
         *
         * @return      l'oggetto Weditor aggiornato
         *
         * @see         java.lang.String#replaceFirst(String, String)
         * @see         Weditor#reverse(String)
         */
        
        
    public Weditor replaceBottom(String oldSString newSint n)
        {
            
    String oldSRreverse(oldS);
            
    String newSR reverse(newS);
            
    String $_str_R reverse($_str_);

            
    int repl 0;

            while(
    repl n) {
                
    $_str_R $_str_R.replaceFirst("\\b"+oldSR+"\\b"newSR);
                
    repl++;
            }
            
            
    $_str_ reverse($_str_R);
            return 
    this;
        }
        
        
    /**
         * Sostituisce tutte le occorrenze della parola oldS con la parola
         * newS e restituisce l'oggetto Weditor.
         *
         * @return      l'oggetto Weditor aggiornato
         *
         * @see         java.lang.String#replaceAll(String, String)
         */
        
        
    public Weditor replaceAll(String oldSString newS)
        {
               
    $_str_ $_str_.replaceAll("\\b"+oldS+"\\b"newS);
               return 
    this;
        }
        
        
    /**
         * Salva il contenuto della variabile $_str_ nel file di testo 
         * nomefile
         *
         * @see         java.io.File#File(String);
         * @see         java.io.FileWriter#FileWriter(File);
         * @see         java.io.FileWriter#write(String);
         * @see         java.io.FileWriter#close();
         */
        
        
    public void saveAs(String nomefile)
        {
            try {
                
    File outputFile = new File(nomefile);
                
    FileWriter out = new FileWriter(outputFile);
                
    out.write($_str_);
                
    out.close();
            } catch (
    IOException e) {
                
    e.getMessage();
            }
        }
        
        
    /**
         * Riceve come parametro un'espressione regolare.
         * Cerca all'interno del testo associato al Weditor 
         * la prima parola che rispetta le condizioni specificate da un espressione
         * regolare.
         * 
         * @return      la posizione del primo e dell'ultimo carattere della parola.
         *              Se il metodo java.util.regex.Matcher.find lancia l'eccezione
         *              IllegalStateException, ovvero nel caso in cui nessuna parola 
         *              rispetti l'espressione regolare viene assegnato il valore -1
         *              entrambi gli elementi.
         *
         * @see         java.io.File#File(String);
         * @see         java.io.FileWriter#FileWriter(File);
         * @see         java.io.FileWriter#write(String);
         * @see         java.io.FileWriter#close();
         */
        
        
    private int[] regexFind(String regex)
        {
            
    int[] wBounds = new int[2];
            
    Pattern p Pattern.compile(regex);
            
    Matcher m p.matcher($_str_);
            
            try {
                
    m.find($_curPos_);
                
    wBounds[0] = m.start();
                
    wBounds[1] = m.end();    
            } catch (
    IllegalStateException e) {
                
    wBounds[0] = wBounds[1] = -1;
            }
            
            return 
    wBounds;
        }

        
    /**
         * Riceve come parametro una stringa e la inverte usando il metodo
         * java.lang.StringBuffer.reverse(). 
         * 
         * @return      la stringa str invertita
         *
         * @see         java.lang.StringBuffer#reverse()
         */  

        
    private String reverse(String str)
        {
            return new 
    StringBuffer(str).reverse().toString();
        }

    e questo è lo script che ho usato per testarlo

    codice:
    import java.util.*;
    import java.io.*;
    public class testWeditor {
        /** Creates a new instance of testWeditor */
        public static void main(String args[]) {
                
                try {
                Weditor we = new Weditor("c:/java_test/prova.tt");
                int pos = we.findNext("Milano");
                System.out.println(pos);
                } catch (FileNotFoundException e) {
                    System.out.println("file non trovato");
                }
    
        }
    }
    sono disperato , help !!

    grazie

  2. #2
    Utente di HTML.it L'avatar di Angelo1974
    Registrato dal
    Feb 2003
    Messaggi
    1,107
    Ciao; sinceramente, non l'ho provatoperchè non ho il tempo, ma ad occhio sembra sia fatto bene... prova a chiedere al tuo prof quali sono i metodi che generano eccezioni... può anche essere che si sia confuso... ciao
    Se vuoi trovare l'arcobaleno, devi sopportare la pioggia

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    55
    ciao ,

    finalmente oggi ha risposto alle mie mail dicendo che con la classe che ha usato lui per fare i test, il mio script solleva eccezioni, dovrebbe mandarmi la classe per i test oggi, a quel punto penso sarà semplice capire dov'è il problema.

    grazie del supporto morale, ciao

  4. #4
    madonna.. ma neanche per finta ad utilizzare linux??? è una questione di principio!
    if u think u'r too small to make a difference, try sleeping with a mosquito!!

    Giochi a calcetto? Vuoi prenotare online il tuo campo preferito?

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    55
    ?

  6. #6
    Utente di HTML.it L'avatar di Angelo1974
    Registrato dal
    Feb 2003
    Messaggi
    1,107
    Inviato da geppo80
    madonna.. ma neanche per finta ad utilizzare linux??? è una questione di principio!
    In tutta onestà questa non l'ho capita..... che c'entra questa risposta?
    Se vuoi trovare l'arcobaleno, devi sopportare la pioggia

  7. #7
    Weditor we = new Weditor("c:/java_test/prova.tt");

    nello scriptino...
    si deduce che il prof testi il progetto sotto windows...
    vabbè questione personale..
    if u think u'r too small to make a difference, try sleeping with a mosquito!!

    Giochi a calcetto? Vuoi prenotare online il tuo campo preferito?

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.