Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Java - AIUTO - FILE JAVA-
Forum - Java - AIUTO - FILE JAVA-

Avatar
anto (Normal User)
Newbie


Messaggi: 2
Iscritto: 28/04/2010

Segnala al moderatore
Postato alle 12:32
Mercoledì, 28/04/2010
ciao a tutti io ho un problema con l'istruzione if ovvero qualsiasi System.out.println me la prende e me la stampa mentre le altre istruzioni non me le esegue..sapete il perchè?!

Scanner in = new Scanner (System.in);
        int n = 0;
        System.out.println("***************** MENU' *****************");
        System.out.println("1) Inserisci Profilo");
        System.out.println("2) Inserisci Lista");
        System.out.println("3) Inserisci Attività");
        System.out.println("Scegli:\t");
        n = in.nextInt();
                if(n == 1){
            System.out.println("Inserisci nome profilo: ");
            utt = in.nextLine(); //QUESTE ISTRUZIONI NN ME LE ESEGUE
            p.setUsername(utt); //QUESTE ISTRUZIONI NN ME LE ESEGU    
            p.Scrivi_profilo(); //QUESTE ISTRUZIONI NN ME LE ESEGUE
        }

PM Quote
Avatar
tasx (Dev Team)
Expert


Messaggi: 439
Iscritto: 15/12/2008

Segnala al moderatore
Postato alle 15:38
Mercoledì, 28/04/2010
ciao!!

Certo che quelle istruzioni nn vengono eseguite, l'if verifica se n é uguale a 1, e visto che nn lo é salta tt ciò compreso fra le graffe che seguono l'if.

Prova con if(n=0)

Ciaociao

PM Quote
Avatar
bububs (Normal User)
Expert


Messaggi: 253
Iscritto: 11/03/2010

Segnala al moderatore
Postato alle 16:02
Mercoledì, 28/04/2010
Testo quotato


n = in.nextInt();


Modificalo così:
n = Integer.parseInt(in.nextLine());  //cioè trasforma in intero il numero da ricevere
P.S quando hai più dati da ricevere di diverso tipo, ti consiglio di fare il parse altrimenti ti salta dei passaggi (parlo per esperienza personale :heehee: )
Ciao!!

Ultima modifica effettuata da bububs il 28/04/2010 alle 16:15
PM Quote
Avatar
bububs (Normal User)
Expert


Messaggi: 253
Iscritto: 11/03/2010

Segnala al moderatore
Postato alle 16:11
Mercoledì, 28/04/2010
Testo quotato


Certo che quelle istruzioni nn vengono eseguite, l'if verifica se n é uguale a 1, e visto che nn lo é salta tt ciò compreso fra le graffe che seguono l'if.

Prova con if(n=0)



Scusa ma sbagli! Perchè a lui interessa solo che quando l'utente digita 1 fa una certa cosa, 2 un'altra, ecc. P.S L'istruzione if(n=0) non esiste( casomai if(n==0) ). comunque n non varrà mai zero anche se è inizializatto a 0, perchè c'è l'istruzione n=Integer.parseInt(in.nextLine()) che la setta a seconda del valore scelto!!
Non è una critica, ma voleva essere solo un chiarimento. Ciao!!

Ultima modifica effettuata da bububs il 28/04/2010 alle 16:12
PM Quote
Avatar
tasx (Dev Team)
Expert


Messaggi: 439
Iscritto: 15/12/2008

Segnala al moderatore
Postato alle 15:05
Sabato, 01/05/2010
ops, hai ragione, ho letto male...
Ciaociao

PM Quote
Avatar
anto (Normal User)
Newbie


Messaggi: 2
Iscritto: 28/04/2010

Segnala al moderatore
Postato alle 0:45
Lunedì, 10/05/2010
grazie per le risposte...xò ora è sorto lo stesso problema se elimino l'if e metto uno switch case ad esempio:

Scanner in = new Scanner (System.in);
        int n = 0;
        System.out.println("***************** MENU' *****************");
        System.out.println("1) Inserisci Profilo");
        System.out.println("2) Inserisci Lista");
        System.out.println("3) Inserisci Attività ");
        System.out.println("Scegli:\t");
        n = in.nextInt();
        switch(n){
            case 1: {
            System.out.println("Inserisci nome profilo: ");
            utt = in.nextLine(); //QUESTE ISTRUZIONI NN ME LE ESEGUE
            p.setUsername(utt); //QUESTE ISTRUZIONI NN ME LE ESEGUE    
            p.Scrivi_profilo(); //QUESTE ISTRUZIONI NN ME LE ESEGUE
        }
        break;
        //altri case
       }//end switch

PM Quote
Avatar
bububs (Normal User)
Expert


Messaggi: 253
Iscritto: 11/03/2010

Segnala al moderatore
Postato alle 15:49
Lunedì, 10/05/2010
Testo quotato


        System.out.println("***************** MENU' *****************");
        System.out.println("1) Inserisci Profilo");
        System.out.println("2) Inserisci Lista");
        System.out.println("3) Inserisci Attività ");
        System.out.println("Scegli:\t");
        n = in.nextInt();
        


Ti ho detto anke precedentemente di fare così:
n = Integer.parseInt(in.nextLine());
Fallo però!!!:_doubt:

PM Quote
Avatar
bububs (Normal User)
Expert


Messaggi: 253
Iscritto: 11/03/2010

Segnala al moderatore
Postato alle 15:49
Lunedì, 10/05/2010
Vale la stessa regola: :rofl:

Il codice è il seguente:

Codice sorgente - presumibilmente Java

  1. Scanner in = new Scanner (System.in);
  2.         int n = 0;
  3.         System.out.println("***************** MENU' *****************");
  4.         System.out.println("1) Inserisci Profilo");
  5.         System.out.println("2) Inserisci Lista");
  6.         System.out.println("3) Inserisci Attività ");
  7.         System.out.println("Scegli:\t");
  8.         n = Integer.parseInt(in.nextLine());
  9.         switch(n){
  10.             case 1: {
  11.             System.out.println("Inserisci nome profilo: ");
  12.             utt = in.nextLine(); //QUESTE ISTRUZIONI NN ME LE ESEGUE
  13.             p.setUsername(utt); //QUESTE ISTRUZIONI NN ME LE ESEGUE    
  14.             p.Scrivi_profilo(); //QUESTE ISTRUZIONI NN ME LE ESEGUE
  15.         }
  16.         break;
  17.         //altri case
  18.        }//end switch


Ultima modifica effettuata da bububs il 10/05/2010 alle 15:53
PM Quote