Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    Creare funzione personalizzata per leggere

    Sono un ragazzo di 16 a scuola stiamo studiando java e essendo un appassionato di informatica mi sto esercitando a creare funzioni personalizzate.
    Quando provo a creare la funzione se la dichiaro static mi da errore e se non la dichiaro static e inserisco la funzione nel main non funziona.
    Voglio ringraziare tutti quelli che mi aiuteranno a risolvere questo problema.

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Prova a mostrare il codice e a dire esattamente gli errori ..


    P.S. quei tre "ha" non vanno proprio bene ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    questo è il codice della mia funzione
    codice:
    public int Lav()
        {
            System.out.format("%n%nQuanti lavoratori hai? ");
            try {
            Leggi = miatast.readLine();
            numlav = Integer.valueOf(Leggi).intValue();
            }
            catch(IOException er)
            {
            }
            return numlav;
        }
    Se lo provo ad eseguire mi da questo errore
    codice:
    Exception in thread "main" java.lang.RuntimeException: Uncompilable source code - non-static method Lav() cannot be referenced from a static context

  4. #4
    Utente di HTML.it L'avatar di neroux
    Registrato dal
    Aug 2009
    Messaggi
    1,973
    L'errore dice già tutto

    non-static method Lav() cannot be referenced from a static context

    main() è static mentre Lav() (secondo la convezione è meglio usare le lettere minuscole, quindi lav()) è non-static quindi ha bisogno di un'istanza.

    Oppure lo rendi statico anche lav() oppure crei prima un'istanza su cui poi chiami .lav().

    www.sitemeer.com » Quando un sito pare irraggiungibile

    Se ti piace ci puoi trovare anche su Facebook

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Che intendi "se la inserisco nel main ..." ?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  6. #6
    crei prima un'istanza su cui poi chiami .lav()
    come faccio ha fare quello che dice neroux cioè di creare un istanza per chiamare .lav()

  7. #7
    Utente di HTML.it L'avatar di neroux
    Registrato dal
    Aug 2009
    Messaggi
    1,973
    Non per offendere, ma ti consiglierei veramente di studiare un po di più su Java, altrimenti sarà difficile continuare.

    www.sitemeer.com » Quando un sito pare irraggiungibile

    Se ti piace ci puoi trovare anche su Facebook

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Una istanza si crea a partire da una classe. Devi prima creare la tua classe di cui lav sarà un metodo. Fatto questo potrai creare un'istanza di tale classe e chiamare la .lav
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #9
    Ho già una classe che si chiama Lavora, a livello di codice cosa dovrei scrivere
    codice:
    public class Lavora {
      
        InputStreamReader stream = new InputStreamReader(System.in);                
        BufferedReader miatast = new BufferedReader(stream);   
    
        final int max = 100;
        String Leggi;
        int numlav; 
        
        public int Lav()
        {
            System.out.format("%n%nQuanti lavoratori hai? ");
            try {
            Leggi = miatast.readLine();
            numlav = Integer.valueOf(Leggi).intValue();
            }
            catch(IOException er)
            {
            }
            return numlav;
        }
        
        
        public static void main(String[] args) {
            // TODO code application logic here
            
            int Lav = Lav();
        }
    }

  10. #10
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    codice:
            Lavora olav = new Lavora();
            olav.Lav();
    No MP tecnici (non rispondo nemmeno!), usa il forum.

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.