Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Problema uscita ciclo while

    Sto imparando adesso il linguaggio Java e sto tentando di risolvere un problema con questo codice:
    codice:
    public static void main(String[] args) {
            // TODO code application logic here
                                                 int valori,tot_par=0;
                                                 float media;
                                                 int i=0;
                                                 Scanner val=new Scanner(System.in);//Scanner per inserire quantità valori sul vettore
                                                 System.out.println("Inserire il numero di componenti del vettore ");
                                                 valori=val.nextInt();
                                                 int[] num=new int[valori];//Crea un array del numero impostato di valori
                                                 while(i<valori){
                                                    System.out.println("Inserire il valore numero " + (i+1) +" di " +valori);
                                                    num[i]=val.nextInt();
                                                    i++;                  
                                                 System.out.println("i vale " +i );
                                                 }
                                                   i=0;
                                                 while(i<valori){
                                                    tot_par=tot_par+num[i];
                                                   }
                                                 media=tot_par/valori;
                                                 System.out.println("La media è" + media);
                                                }
    in pratica il programma non esce dal primo ciclo while nel momento nel quale dovrebbe, cioè quando la variabile i arriva a essere uguale alla variabile valori. Avreste qualche suggerimento da darmi?
    Grazie

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

    Re: Problema uscita ciclo while

    Originariamente inviato da 8bitmagictime
    codice:
                                                   i=0;
                                                 while(i<valori){
                                                    tot_par=tot_par+num[i];
                                                   }
    in pratica il programma non esce dal primo ciclo while nel momento nel quale dovrebbe, cioè quando la variabile i arriva a essere uguale alla variabile valori. Avreste qualche suggerimento da darmi?
    Grazie
    Ciclo infinito, ti sei dimenticato di incrementare i

    edit: la media la calcoli con una divisione tra interi, il risultato sarà troncato e perderai la parte a destra della virgola :master:
    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
    Il problema era nel secondo ciclo. Non me ne ero accorto perchè continuavo a battere la testa sul primo
    Per la media hai ragione, pensavo che avendo dichiarato float la variabile media facesse il cast automatico, invece non è così.

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.