Errore metodo "nextLine" solo su NetBeans

di il
6 risposte

Errore metodo "nextLine" solo su NetBeans

Salve, sono nuovo in Java e mi sono imbattuto in questa strana cosa.
lanciando questo semplice programmino :
public class Main {

public static void main(String[] args) {


System.out.println("Ciao mi dici il tuo nome ? ");
Scanner in = new Scanner(System.in);
String s = in.nextLine(); //--------------------------> qui causa l'errore. Perchè ? solo in NetBeans
System.out.println("Ciao "+s );
in.close();

}
}

in NetBeans mi dà il seguente errore : Exception in thread "main" java.util.NoSuchElementException: No line found
in IntellJ IDEA funziona benissimo.

Grazie per l'aiuto che vorrete darmi.

6 Risposte

  • Re: Errore metodo "nextLine" solo su NetBeans

    A me funzione correttamente (NetBeans 8.2)
  • Re: Errore metodo "nextLine" solo su NetBeans

    La mia versione è la 12.2. Ho provato ad installare in un pc virtuale pulito la stessa versione (12.2) e ottengo lo stesso errore.
    Tutto questo mi sembra assurdo. L'installazione dell'ambiente non ha avuto problemi e mi aspetto che 2 linee di codice funzionino e invece no.
    Comunque ho creato un altro progetto (java application maven) il primo era con gradle e anche questo ha dato lo stesso errore.
    Poi ho creato un progetto ( java application ant) e tutto funziona bene.
    Come mai ? Qualcuno esperto potrebbe spiegarmi perché ?
    Grazie e scusate lo sfogo.
  • Re: Errore metodo "nextLine" solo su NetBeans

    Sembra un problema di versione, allora. Devi cerca su internet.
    Comunque Scanner è poco usata e magari non è tanto testata a runtime.

    Prova così
    
    public static void main(String args[]) throws java.io.IOException{
        System.out.println("Ciao mi dici il tuo nome ? ");
        java.io.BufferedReader br = new java.io.BufferedReader(new java.io.InputStreamReader(System.in));
        String s = br.readLine();
        System.out.println("Ciao "+ s);
    }
    
  • Re: Errore metodo "nextLine" solo su NetBeans

    Dovrebbe essere questo. Prova a darci un occhiata

    https://issues.apache.org/jira/plugins/servlet/mobile#issue/NETBEANS-4099
  • Re: Errore metodo "nextLine" solo su NetBeans

    Grazie, sembra essere un problema delle ultime versioni.
    Continuerò con IntellJIdea community edition, sembra + stabile.
    A proposito:

    Weierstrass ha scritto:



    Comunque Scanner è poco usata e magari non è tanto testata a runtime.
    Cosa dovrebbe fare una persona per imparare Java senza prendere strade sbagliate e perdere tempo?
    Esistono libri che attraverso piccoli esempi (quindi in modo pratico) introducono le classi giuste da usare evitando di parlare di
    classi che ormai non vengono più utilizzate dai professionisti?
    Grazie di tutto
  • Re: Errore metodo "nextLine" solo su NetBeans

    Guarda, la mia esperienza in Java è limitata perché da un po' di tempo al lavoro uso solo C# (lascio spazio a utenti più esperti tipo andbin )

    Comunque, dalla mia esperienza:
    - IntelliJ è l'IDE migliore per Java, continua pure con quello
    - BufferedReader con incapsulato InputStreamReader (o FileStreamReader o simili) è la soluzione più robusta, devi però gestire obbligatoriamente la checked exception IOException (Java sennò non compila, a differenza di altri linguaggi); Scanner non è tanto usato perché difficilmente avrai a che fare con un input da terminale al lavoro
    - per qualsiasi argomento, quasi sempre la soluzione migliore in Java non è quella più intuitiva (devi fare molte ricerche)
    - Java è pieno di sorprese a runtime; sono d'accordo con te che sia una scocciatura, ma almeno questi inconvenienti ti preparano a quello che ti aspetterà in futuro
Devi accedere o registrarti per scrivere nel forum
6 risposte