Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Problema while

Visualizzazione discussione

  1. #4
    Mi rimane solo 1 problema, ora riesce a gestire i numeri positivi e le stringhe non numeriche, ma quando metto un numero negativo continua ad attendere il secondo valore. Purtroppo non posso passare direttamente alla variabile quello che scrivo da tastiera perchè potrei scrivere qualcosa che non sia un intero.

    codice:
    static int Ins_Int()    {
            int a=0;
            
            while (a<=0)
            {
                System.out.print("Inserire anni durata deposito: ");
                while (!scrivi.hasNextInt())
                {
                    System.out.print("Inserire anni durata deposito: ");
                    scrivi.next();
                }
                a=scrivi.nextInt();
            }
            return a;
        }
    P.S. Non ho ben capito se il .nextInt() azzera il buffer automaticamente. Chiedo perchè mi hai scritto:
    1) Se nel buffer di input esiste già un valore numerico, lo restituisce e lo toglie dal buffer
    però ho notato che facendo partire il programma con il codice che ho scritto se scrivo in esso "12 f" mi prende il 12 e la f me la tiene per il comando successivo, quindi rimane nel buffer mentre se alla fine del metodo ci metto un "scrivi.NextLine()" questo non accade.

    @LeleFT
    Dal momento che hai scritto che "scrivi.next()" deve per forza assegnare direttamente un valore alla variabile ho provato così ma non va lo stesso, quando metto un numero adesso mi genera proprio un'eccezione "Exception in thread "main" java.lang.NumberFormatException: For input string: ""
    codice:
    static int Ins_Int()	{
    		int a=0;
    		String temp="";
    		
    		System.out.print("Inserire anni durata deposito: ");
    		while (a<=0)
    		{
    			while (!scrivi.hasNextInt())
    			{
    				System.out.print("Inserire anni durata deposito: ");
    				temp=scrivi.next();
    			}
    			a=Integer.parseInt(temp);
    			scrivi.nextLine();
    		}
    		return a;
    	}
    Ultima modifica di gennysennin; 08-03-2016 a 16:00

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.