Impossibile risolvere lo scanner in un tipo
Domanda
Ho appena installato Ubuntu 8.04 e sto seguendo un corso in Java, quindi ho pensato perché non installare un IDE mentre lo sto installando.Quindi scelgo il mio IDE preferito, Eclipse, e creo un programma molto semplice, Hello World, per assicurarmi che tutto funzioni senza intoppi.Quando utilizzo Scanner per l'input dell'utente, ricevo un errore molto strano:
Il mio codice:
import java.util.Scanner;Test di classe {public static void main (string [] args) {scanner sc = new scanner (system.in);System.out.println("ciao");}}
Il risultato:
Exception in thread "main" java.lang.Error: Unresolved compilation problems: Scanner cannot be resolved to a type Scanner cannot be resolved to a type at test.main(test.java:5)
Soluzione
La classe Scanner è una novità in Java 5.Non so quale sia l'ambiente Java predefinito di Hardy, ma non è quello di Sun e quindi potrebbe essere obsoleto.
Consiglio di installare il pacchetto sun-java6-jdk per ottenere la versione più aggiornata, quindi di dire a Eclipse di usarlo.
Altri suggerimenti
Se stai utilizzando una versione di Java precedente alla 1.5, java.util.Scanner non esiste.
Quale versione di JDK è configurato per l'utilizzo nel tuo progetto Eclipse?
Dai un'occhiata a Progetto, Proprietà, Percorso di creazione Java: cerca la voce "Libreria di sistema JRE", che dovrebbe avere un numero di versione accanto.
Potrebbe anche darsi che, nonostante tu abbia JDK 1.5 o versione successiva, il progetto abbia alcune impostazioni specifiche impostate che gli dicono di compilare come 1.4.Puoi testarlo tramite Progetto >> Proprietà >> Compilatore Java e assicurarti che il "Livello di conformità del compilatore" sia impostato su 1,5 o superiore.
Lo so, è passato un po' di tempo dall'ultima volta che la domanda è stata pubblicata.Ma la soluzione potrebbe comunque interessare a chiunque là fuori.In realtà è abbastanza semplice...
Sotto Ubuntu è necessario impostare il compilatore Java "javac" per utilizzare il jdk di Sun invece di qualsiasi altra alternativa.La differenza rispetto ad alcune delle risposte pubblicate finora è che sto parlando di javac NON di java.Per fare ciò, avvia una shell e procedi come segue:
- Come root o sudo digita dalla riga di comando:
# update-alternatives --config javac
Individua il numero che punta al jdk di Sun, digita questo numero e premi "INVIO".
Hai finito!D'ora in poi potrai goderti java.util.Scanner sotto Ubuntu.
System.out.println("Say thank you, Mr.");
Scanner scanner = java.util.Scanner(System.in);
String thanks = scanner.next();
System.out.println("Your welcome.");