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

    Errore con i vettori in java

    Sono nuovo in java ... questa è la richiesta del programmino che dovrei fare: Il programma “Compact Disc” permette di contenere 10 canzoni specificate da nome e durata, espressa in secondi, chieste in input.
    Questo è quello che ho scritto:

    codice:
    package compactdisc;
    
    import java.util.Scanner;
    public class CompactDisc {
    
        public static void main(String[] args) {
            Scanner k = new Scanner(System.in);
            int Durata[]=new int[10];
            String Disc[]=new String[10];
            for (int s=0;s<10;s++){
                System.out.println("Inserire il nome della " +(s+1)+ " canzone: ");
                Disc[s] = k.nextLine();
                System.out.println("Inserire la durata della " +(s+1)+ " canzone in minuti: ");
                Durata[s] = k.nextInt();
            }
        }
    
    }
    il problema si vede quando lo mando in esecuzione la prima parte in cui inserisco nome e la durata della prima canzone va bene però quando va avanti e devo inserire il nome e la durata della seconda canzone salta la parte in cui dovrei inserire il nome e mi dice direttamente di scrivere la durata e poi cosi va avanti nelle canzoni restanti... ho riguardato il programma e non trovo nessun errore però io sono inesperto e probabilmente non me ne accorgo di qualcosa...aiutatemi per favore
    Ultima modifica di MItaly; 14-11-2013 a 01:09 Motivo: tag CODE

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da jean159 Visualizza il messaggio
    quando va avanti e devo inserire il nome e la durata della seconda canzone salta la parte in cui dovrei inserire il nome e mi dice direttamente di scrivere la durata e poi cosi va avanti nelle canzoni restanti... ho riguardato il programma e non trovo nessun errore
    nextLine() legge una riga e consuma anche il newline. nextInt() legge il token come int ma se dopo il token hai fatto newline (invio), nextInt non lo consuma. Quindi ti resta lì e il tuo successivo nextLine() lo consuma subito. Ecco perché "salta".
    Ultima modifica di andbin; 13-11-2013 a 23:42
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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.