Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    5

    [Java]Passare argomento ad un metodo

    codice:
    import java.util.Scanner;
    import java.io.*;
    
    /**
     * Questo programma legge i titoli dei film da file
     * e i dati dei loro noleggi settimanali per poi stampare 
     * una tabella di riepilogo in un altr file che contenga:
     * I titoli e i loro noleggi
     * Per ogni titolo va riportato il numero di noleggi medio,massimo, e minimo
     * Per ogni giorno della settimana va riportato il numero totale, medio,massimo e minimo di noleggi
     * @author PaK
     * @version Alpha
     */
     
     
    public class esame{
    	int GIORNI_SETTIMANA = 7;
    	String[] titoli=null; 		 //vettore di stringhe per i titoli
    	int[][] noleggi=null; 	//matrice con le quantità di noleggi per i film
    	public String FILE_NOLEGGI = "esame_noleggi.txt";	//nome del file contenente i noleggi
    	public String FILE_TITOLI="esame_titoli.txt";		//nome file dei titoli
    	String FILE_RIEPILOGO="esame_riepilogo.txt";	//nome file di uscita
    	Scanner sNoleggi;
    	Scanner sTitoli;
    
    	
    //LETTURA MATRICE
    
    public void leggiFile(String FILE_TITOLI,String FILE_NOLEGGI) throws IOException {
    	
    	sNoleggi=new Scanner(new FileReader(FILE_NOLEGGI));
    	sTitoli=new Scanner(new FileReader(FILE_TITOLI));
    	
    	System.out.printf("Lettura titoli dei film dal file %s.%n",FILE_TITOLI);
            System.out.printf("Lettura noleggi film dal file %s.%n",FILE_NOLEGGI);
    	
    	int righe = sNoleggi.nextInt(); // leggo da file il numero di titoli
            System.out.printf("Vi sono %,d titoli.%n", righe);
    	
    	noleggi=new int[sNoleggi.nextInt()][GIORNI_SETTIMANA];	//prendo le dimensioni della matrice
    	titoli = new String[righe];
    	
    	for (int i = 0; i < righe; i++) 
    	{
                System.out.printf("Lettura informazioni per il film %,d di %,d.%n",i + 1, righe);
    
                titoli[i] = sTitoli.nextLine(); 	// leggo il nome dello studente
    
                System.out.printf("Titolo film: %s. Noleggi: ", titoli[i]);
    
                for (int j = 0; j < GIORNI_SETTIMANA; j++) 
    		{
                    noleggi[i][j] = sNoleggi.nextInt(); // leggo i noleggi del film
    		System.out.printf("%,d; ", noleggi[i][j]);
    		}
                System.out.println("");
            }
    
            sTitoli.close();
            sNoleggi.close();
        
    
    	
    	
    	}
    public static void main(String[] args) throws IOException{
    	esame es = new esame();
            
    	es.leggiFile(args[0],args[1]);
    	
    	}
    	
    	
    }
    Salve , sto cercando di fare questo esercizio, non è ancora del tutto completo come vedete...
    c'è una cosa che non ho ancora capito, e spero che voi mi illuminiate.... come si passano nel main gli argomenti ai metodi che vengono invocati?
    potrebbe essere una cosa da veri niubbi , ma sto imparando ehehe...

    vi allego gli altri file che servono per l'esecuzione del programma...

    Grazie anticipate per l'aiuto

    http://www.r0x.eu/upload/Videoteca.rar

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    5
    niente?

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    906
    La tua domanda e' come si passano gli argomenti al main? Quando lanci il programma
    codice:
    java esame argomento0 argomento1

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    5
    codice:
    public static void main(String[] args) throws IOException{
    	esame es = new esame();
            
    	es.leggiFile(args[0],args[1]);
    	
    	}
    l'errore me lo da qui... gli argomenti non devo darglieli al momento del lancio da consolle, ma dovrebbe prenderseli da solo...

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    906
    Che vuol dire che se li deve prender da solo?
    es.leggiFile(args[0],args[1])
    Presuppone che li passi da console. Inoltre e' buona norma fare un controllo sulla lunghezza di args e stampare un messaggio di errore se non e' quella desiderata.
    L'errore te lo da perche' non passi argomenti, args ha lunghezza 0 e quindi quando tenti di accedere a args[0] e args[1] sollevi l'eccezione.

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.