[Coding] Errore "noob" programmazione Java
  • In diretta da GamesVillage.it
    • News
    • -
    • In Evidenza
    • -
    • Recensioni
    • -
    • RetroGaming
    • -
    • Anteprime
    • -
    • Video
    • -
    • Cinema

Pag 1 di 2 12 UltimoUltimo
Visualizzazione risultati da 1 a 15 di 25

Discussione: Errore "noob" programmazione Java

Cambio titolo
  1. #1
    Utente
    Registrato il
    06-12
    Località
    Santa Marinella
    Messaggi
    5

    Errore "noob" programmazione Java

    Salve a tutti, mi sono appena avvicinato alla programmazione Java, che tuttavia già mi appassiona molto.
    Ho fatto solo una lezione ed ho "imparato" come per esempio creare una classe pubblica (public class ...), creare il metodo main e cose del tipo (se int a=2 e int b=4, pubblica "a+b" con il comando println).
    Ora mi sto informando online in attesa della prossima lezione e già ho imparato qualcosina in più e ho provato a creare un comando in grado di restituirmi in valore minore fra due variabili int "a" e "b" con il comando return, e ho scritto, vedendo online, così:

    public class Esercizio {

    public static int min (int a, int b) {
    a = 2;
    b = 5;


    if ( a<b )
    return a;
    else
    return b;

    }

    }

    tuttavia, se vado a ed eseguirlo (la compilazione non dà problemi, mi dice che manca il metodo main principale, lo vado quindi ad inserire in questo modo:

    public class Esercizio {
    public static void main(String [] args) {
    public static int min (int a, int b) {
    a = 2;
    b = 5;


    if ( a<b )
    return a;
    else
    return b;

    }
    }
    }


    Ma quando vado ad eseguirlo mi riempie di errori!!

    Esercizio.java error: illegal start of expression
    public static int min (int a, int b) {
    ^
    Esercizio.java error: illegal start of expression
    public static int min (int a, int b) {
    ^
    Esercizio.java error: ';' expected
    public static int min (int a, int b) {
    ^
    Esercizio.java error: '.class' expected
    public static int min (int a, int b) {
    ^
    Esercizio.java error: ';' expected
    public static int min (int a, int b) {
    ^
    Esercizio.java error: ';' expected
    public static int min (int a, int b) {
    ^
    6 errors

    Qualcuno sa aiutarmi? e... Scusate la "nabbezza" ma ho appena iniziato

  2. #2
    da 3? L'avatar di Celebron
    Registrato il
    07-06
    Località
    Sotto Canestro
    Messaggi
    14.462
    Stai facendo confusione, non mettere una definizione di funzione dentro un altra funzione

    la definizione della funzione min va messa fuori da quella del main, nel main va messa la chiamata alla funzione min

    Codice:
    public static void main(String[] args){
         int result = min(2,5);
    }
    
    public static int min(int a, int b){
        if(a<b) return a;
        else return b;
    }

  3. #3
    A-10C (IQT BAQ BMC TAC20) L'avatar di Affa
    Registrato il
    02-08
    Località
    Trento
    Messaggi
    15.267
    main(String) e min(int, int) sono due metodi diversi, non li devi mettere uno dentro l'altro.

    Usa il tag code comunque.

    Yay!

  4. #4
    panzone
    Ospite
    Non puoi dichiarare metodi all' interno di un metodo (anche perché la cosa non ha molto senso). Il problema è esattamente quello, devi creare il main esternamente, il quale chiamerà la tua funzione min.

    EDIT: A quanto pare non son l' unico annoiato

  5. #5
    MEN! DOU! KOTE! L'avatar di nightdevil
    Registrato il
    10-04
    Località
    Cernüsch (MI)
    Messaggi
    11.858
    Stai dichiarando un metodo all'interno di un altro metodo. Devi dichiararlo fuori e richiamarlo nel main.
    Inoltre se metti i parametri nel metodo "min" è inutile che poi li imposti tu fissi.

    Fai così:

    Codice:
    public class Esercizio {
    
      public static void main(String [] args) {
        
       println("Il risultato è "+min())
    
          }
    
      public static int min () { 
               a = 2;
             b = 5;
                
           
               if ( a<b )
                   return a;
               else
                   return b;
                
      }
    
    }
    Altrimenti puoi metterli variabili come hai fatto tu e glieli imposti quando vai a richiamare il metodo (poi però ovviamente non fai più a =2, b= ecc. ecc. all'interno del metodo):
    Codice:
       println("Il risultato è "+min(2,5))
    EDIT: ultra ninjato lol

  6. #6
    Utente
    Registrato il
    06-12
    Località
    Santa Marinella
    Messaggi
    5
    Ok, grazie mille a tutti, gli errori sono spariti, tuttavia non mi dà compare il "2" nel terminale D: ahahah
    Certo che la vita di un aspirante programmatore praticamente autodidatta è dura, consigli su siti o simili da usare come guida?

  7. #7
    A-10C (IQT BAQ BMC TAC20) L'avatar di Affa
    Registrato il
    02-08
    Località
    Trento
    Messaggi
    15.267
    Se già ti pare dura qua lascia perdere.

    Posta il codice per il 2 assente.

    Yay!

  8. #8
    Utente L'avatar di devilheart
    Registrato il
    01-03
    Messaggi
    28.310
    Citazione panzone Visualizza Messaggio
    Non puoi dichiarare metodi all' interno di un metodo (anche perché la cosa non ha molto senso).
    Ha senso. Esistono un sacco di linguaggi che lo permettono. Non è il caso di Java, ma è giusto per puntualizzare

  9. #9
    panzone
    Ospite
    Citazione devilheart Visualizza Messaggio
    Ha senso. Esistono un sacco di linguaggi che lo permettono. Non è il caso di Java, ma è giusto per puntualizzare
    Non ha senso in Java intendevo.

  10. #10
    MEN! DOU! KOTE! L'avatar di nightdevil
    Registrato il
    10-04
    Località
    Cernüsch (MI)
    Messaggi
    11.858
    Citazione antoninus96 Visualizza Messaggio
    Ok, grazie mille a tutti, gli errori sono spariti, tuttavia non mi dà compare il "2" nel terminale D: ahahah
    Certo che la vita di un aspirante programmatore praticamente autodidatta è dura, consigli su siti o simili da usare come guida?
    Il risultato devi stamparlo in qualche modo, non ti compare da solo

    Fai come t'ho scritto io.

  11. #11
    Utente
    Registrato il
    06-12
    Località
    Santa Marinella
    Messaggi
    5
    Perfetto ora funziona, pensavo che avendo messo il metodo min in quello principale me lo stampasse da solo, grazie a tutti e in particolare a "nightdevil" ahahah

    Una cosa, voi quanto tempo ci avete messo per arrivare ad una conoscenza non dico elevata ma almeno decente di Java? Per curiosità, spesso essendo all'inizio e non riuscendo a comprendere bene buona parte di ciò che trovo in giro mi demoralizzo ahahah

  12. #12
    A-10C (IQT BAQ BMC TAC20) L'avatar di Affa
    Registrato il
    02-08
    Località
    Trento
    Messaggi
    15.267
    Centinaia di ore.

    Yay!

  13. #13
    Utente
    Registrato il
    06-12
    Località
    Santa Marinella
    Messaggi
    5
    Ottimo, allora quest'estate, dopo la maturità, mi "faccio i chiusoni" di programmazione ahahahah

  14. #14
    blackdev1l L'avatar di s1ck
    Registrato il
    07-11
    Messaggi
    1.952
    mettiti in testa un progettino e finiscilo. Qualcosa tipo "stampare un quadrato pieno su console" , "stampare un quadravo vuoto" , e sali man mano di difficoltà .
    [ESL] everything is up to date!

  15. #15
    W Linus e Linux :-) L'avatar di AEII
    Registrato il
    10-07
    Località
    Vicenza
    Messaggi
    8.173
    Citazione antoninus96 Visualizza Messaggio
    Ottimo, allora quest'estate, dopo la maturità, mi "faccio i chiusoni" di programmazione ahahahah
    vai all'università a studiare informatica, dato che stai finendo con le superiori. Lì ti insegneranno (spero per te) i principi base della programmazione e tutto il necessario per imparare velocemente un linguaggio di programmazione.
    //No comment

Pag 1 di 2 12 UltimoUltimo

Regole di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •