Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Problema metodo

  1. #1

    Problema metodo

    Ciao a tutti volevo chiedervi un aiuto...sto costruendo questo programma ma non riesco ad invocare il metodo dal "main" purtroppo ho scarsa esperienza con i metodi in quanto non sono riuscito a trovare ne un libro ne una guida dove li spiega bene...qualcuno può aiutarmi??? vi posto il codice:

    codice:
    import java.util.*;
    class AgendaAppello{
    
    	public boolean fissaAppuntamento(char [][] agenda, int g, int m, char a ){
    
    		if (g<0 || g>31 && m<1 || m>12){
    
    			System.out.println("Data errata");
    			return false;
    		}
    
    		if(agenda[g][m]==' '){
    
    			agenda[g][m]= a;
    			System.out.println("Appuntamento fissato");
    			return true;
    		}
    		else System.out.println("Non è possibile fissare appuntamenti");
    		return false;
    	}
    
    	public static void main (String []args){
    		Scanner s=new Scanner(System.in);
    		Scanner sc=new Scanner(System.in);
    
           char [][] agenda=new char [31][12];
           int g=1;
           int m=2;
           char a='L';
    
    		for(int i=0; i<agenda.length; i++)
    		    for(int j=0; j<agenda[0].length; j++);
    
    		    char[][]ag= fissaAppuntamento(agenda);
    
    
    		for(int i=0; i<agenda.length; i++){
    			   for(int j=0; j<agenda[0].length; j++)
    		   System.out.print(agenda[i][j] + " ");
    		   System.out.println();
    	   }
    	 }
    
     }

  2. #2
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802

    Re: Problema metodo

    Originariamente inviato da andreadf
    Ciao a tutti volevo chiedervi un aiuto...sto costruendo questo programma ma non riesco ad invocare il metodo dal "main" purtroppo ho scarsa esperienza con i metodi in quanto non sono riuscito a trovare ne un libro ne una guida dove li spiega bene...qualcuno può aiutarmi???
    Basta leggere l'errore del compilatore: main è un metodo statico, fissaAppuntamento è un metodo di istanza ( = non static). In questo caso è sufficiente dichiarare il metodo public static boolean fissaAppuntamento).
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  3. #3
    Perdonami ma non cambia nulla...

    mi esce l'errore di prima :

    fissaAppuntamento(char[][],int,int,char) in AgendaAppello cannot be applied to (char[][])
    char[][]ag= fissaAppuntamento(agenda);

  4. #4
    L'errore è nei parametri che passi al metodo.
    La firma di fissaAppuntamento prevede che in input prenda un char[][], 2 int ed un char mentre nel main gli passi solo un char[][]. Quindi quando invochi fissaAppuntamenti dovrai passargli tutti e 4 i valori.Ciao.
    ------------------------------------
    loro1986
    ------------------------------------

  5. #5
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Originariamente inviato da andreadf
    Perdonami ma non cambia nulla...
    Non ho guardato se il codice compilava, lo davo per scontato Avevo notato subito che chiamavi un metodo d'istanza da un metodo statico e questo non è permesso... Il resto non l'ho guardato
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  6. #6
    Grazie infinite...ho risolto...avevi ragione...

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2008
    Messaggi
    813
    per quanto riguarda i metodi non c'è molto da dire:
    se vieni da C, somigliano alle funzioni...
    Se non vieni da nessun altro linguaggio (e spero che sia così) allora il discorso è diverso:
    Classe: rappresentazione astratta di un concetto reale che può essere astratto o concreto (una macchina ad esempio, concetto reale concreto)
    proprietà della classe: proprietà del concetto (colore, modello, altezza, lunghezza)
    metodi della classe: azioni che questo concetto può eseguire (accelerare, frenare, girare, etc.)

    in linea di massima sono questi...
    poi, per maggiori informazioni su metodi astratti, statici, sincronizzati, ti consiglio di andare sul sito della sun che c'è spiegato tutto
    Nell'anno 1968 è bastata la potenza di due Commodore 64 per lanciare con successo una navicella sulla Luna; nell'anno 2007 ci vogliono la potenza di un processore quad core 3.30 GHz e 3 Gb di RAM (requisiti minimi ufficiali) per utilizzare Windows Vista. Qualcosa deve essere andato storto!

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.