Java: Dove sbaglio?
  • In diretta da GamesVillage.it
    • News
    • -
    • In Evidenza
    • -
    • Recensioni
    • -
    • RetroGaming
    • -
    • Anteprime
    • -
    • Video
    • -
    • Cinema

Visualizzazione risultati da 1 a 9 di 9

Discussione: Java: Dove sbaglio?

Cambio titolo
  1. #1
    swisstux
    Ospite

    Java: Dove sbaglio?

    Ancora io

    Per prima cosa sto cercando di scrivere un programma che incrementi un numero e lo stampi:
    Codice:
    public class Esercizio7{
            public static void main (String[] args){
                    class Incrementa{
                            int increment(int i){return i++;}
                    }
                    Incrementa tool = new Incrementa();
                    int numero = 5;
                    numero = tool.increment(numero);
                    System.out.println(numero);
            }
    }
    ma il risultato è 5

    In secondo luogo, nel mio libro parla della parola static. Provo a creare un programma vuoto con la classe copiata dal libro ma mi dice che " inner classes cannot have static declarations":
    Codice:
    public class Esercizio7b{
            public static void main (String[] args){
                    class StaticTest{
                            static int i = 47;
                    }
            }
    }
    grazie a chi mi aiuterà, è da un po' che sto a scervellarmi

  2. #2
    Utente L'avatar di ndakota
    Registrato il
    07-06
    Località
    Milano
    Messaggi
    3.253
    il problema del primo è che devi fare ++i non i ++

  3. #3
    Linux User # 477930 L'avatar di Metflar
    Registrato il
    09-06
    Località
    Anagni
    Messaggi
    2.353
    Citazione swisstux Visualizza Messaggio
    Ancora io

    Per prima cosa sto cercando di scrivere un programma che incrementi un numero e lo stampi:
    Codice:
    public class Esercizio7{
            public static void main (String[] args){
                    class Incrementa{
                            int increment(int i){return i++;}
                    }
                    Incrementa tool = new Incrementa();
                    int numero = 5;
                    numero = tool.increment(numero);
                    System.out.println(numero);
            }
    }
    ma il risultato è 5

    In secondo luogo, nel mio libro parla della parola static. Provo a creare un programma vuoto con la classe copiata dal libro ma mi dice che " inner classes cannot have static declarations":
    Codice:
    public class Esercizio7b{
            public static void main (String[] args){
                    class StaticTest{
                            static int i = 47;
                    }
            }
    }
    grazie a chi mi aiuterà, è da un po' che sto a scervellarmi
    dove l'hai letto?
    cmq mettilo prima del main

    conoscenze: C\C++, Java, PHP,Python

  4. #4
    swisstux
    Ospite
    Citazione ndakota Visualizza Messaggio
    il problema del primo è che devi fare ++i non i ++
    opplà, grazie.
    Citazione Metflar Visualizza Messaggio
    dove l'hai letto?
    cmq mettilo prima del main
    ora funziona, era preso da Thinking in java. diciamo che non sono ancora arrivato alla struttura del programma, quindi fino alla tua risposta credevo che le classi andassero definite nel main

    grazie ad entrambi

  5. #5
    Utente L'avatar di alecha
    Registrato il
    03-04
    Località
    Bologna
    Messaggi
    35.683
    ma al posto di static non è meglio usare final? cioè una variabile di solito per farla rimanere costante si usa final, o tu vuoi che esista durante tutta l'esecuzione del programma?

  6. #6
    swisstux
    Ospite
    Citazione alecha Visualizza Messaggio
    ma al posto di static non è meglio usare final? cioè una variabile di solito per farla rimanere costante si usa final, o tu vuoi che esista durante tutta l'esecuzione del programma?
    esattamente, se cosi ho capito. in ogni caso ancora non ho letto di final, quindi non so risponderti in modo esauriente

  7. #7
    Utente L'avatar di alecha
    Registrato il
    03-04
    Località
    Bologna
    Messaggi
    35.683
    final int x= 3;

    in pratica il valore di x sarà SEMPRE 3.

    se tu provi a fare per dire un assegnamento del tipo x=4; penso dia errore di compilazione.

  8. #8
    Linux User # 477930 L'avatar di Metflar
    Registrato il
    09-06
    Località
    Anagni
    Messaggi
    2.353
    Citazione alecha Visualizza Messaggio
    final int x= 3;

    in pratica il valore di x sarà SEMPRE 3.

    se tu provi a fare per dire un assegnamento del tipo x=4; penso dia errore di compilazione.
    certo che da errore
    di solito final si usa insieme a static per dichiarare costanti
    static final int x = 3;

    conoscenze: C\C++, Java, PHP,Python

  9. #9
    java is forever
    Ospite
    Citazione Metflar Visualizza Messaggio
    certo che da errore
    di solito final si usa insieme a static per dichiarare costanti
    static final int x = 3;

    Non è necessario inizializzare subito una costante, lo si può fare anche in costruttore

    Codice PHP:
    class {
       final 
    int X;

       
    A(int y) {
          
    y;
       }


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
  •