Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it L'avatar di el92
    Registrato dal
    Dec 2014
    Messaggi
    177

    [java]hasNextInt() ed array

    ciao ho un dubbio sull metodo hasNextInt() della classe Scanner:hasNextInt() lo posso usare anche con gli array?
    Cioè se ho il segue te problema:
    scrivere un programma che data in input una sequenza di numeri che memorizza in un array i numeri dispari.
    La lunghezza della sequenza sarà costituita al massimo di 15 elementi.
    procedimento:
    codice:
    import java.util.Scanner;
    class Dispari{
    public static void main(String[] args){
    Scanner sc=new Scanner(System.in);
    System.out.println("insersci i numeri");
    int dispari[]=new int[15];
    while(sc.hasNextInt()){  //verifico se il prossimo input è un intero
        for(int posizione=0;posizione<dispari.length;posizione++){
            dispari[posizione]=sc.nextInt();
                if(!(dispari[posizione]%2==0)){
                    System.out.println(dispari[posizione]);
                }
            }
        }
     }
    }
    Tutto è compilato correttamente solo che da terminale il programma funziona, ma non termina.Perchè? hasNextInt() non verifica se il prossimo input è un intero?

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da el92 Visualizza il messaggio
    ciao ho un dubbio sull metodo hasNextInt() della classe Scanner:hasNextInt() lo posso usare anche con gli array?
    La domanda è posta male ... nel senso che hasNextInt() (e in generale Scanner) non ha niente a che fare direttamente con gli array. Scanner ti fornisce singoli token ... cosa ne fai e dove li inserisci a Scanner non interessa.

    Quote Originariamente inviata da el92 Visualizza il messaggio
    ma non termina.Perchè?
    Lo standard-input di per sé non ha una fine intrinseca (come invece nei file dove ad un certo punto ovviamente arrivi fisicamente a end-of-file). Se vuoi "chiudere" manualmente lo standard-input, lo puoi fare: su Windows premi Ctrl+Z e poi <invio>. Solo che poi con il tuo codice ti becchi NoSuchElementException.

    In generale spetta a te prevedere una condizione sensata di fine: dopo un tot di token oppure ricevuto un token con un certo valore che tu interpreti come "fine".
    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.