O scanner não pode ser resolvido para um tipo
Pergunta
Acabei de instalar o Ubuntu 8.04 e estou fazendo um curso de Java, então pensei por que não instalar um IDE enquanto o instalo.Então escolho meu IDE preferido, Eclipse, e faço um programa muito simples, Hello World, para garantir que tudo esteja funcionando perfeitamente.Quando uso o Scanner para entrada do usuário, recebo um erro muito estranho:
Meu código:
import java.util.Scanner;classe teste {public static void main (string [] args) {scanner sc = new scanner (system.in);System.out.println("oi");}}
A saída:
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)
Solução
A classe Scanner é nova no Java 5.Não sei qual é o ambiente Java padrão do Hardy, mas não é o da Sun e, portanto, pode estar desatualizado.
Eu recomendo instalar o pacote sun-java6-jdk para obter a versão mais atualizada e depois dizer ao Eclipse para usá-lo.
Outras dicas
Se você estiver usando uma versão do Java anterior a 1.5, java.util.Scanner não existe.
Qual versão do JDK seu projeto Eclipse está configurado para usar?
Dê uma olhada em Projeto, Propriedades, Caminho de construção Java - procure a entrada 'JRE System Library', que deve ter um número de versão próximo a ela.
Também pode ser que, embora você tenha o JDK 1.5 ou superior, o projeto tenha algumas configurações específicas definidas que indicam para compilar como 1.4.Você pode testar isso em Projeto >> Propriedades >> Compilador Java e garantir que o "Nível de conformidade do compilador" esteja definido como 1,5 ou superior.
Eu sei, já faz um bom tempo desde que a pergunta foi postada.Mas a solução ainda pode ser do interesse de qualquer pessoa.Na verdade é bem simples...
No Ubuntu você precisa configurar o compilador java "javac" para usar o jdk da sun em vez de qualquer outra alternativa.A diferença para algumas das respostas postadas até agora é que estou falando de javac, NÃO de java.Para fazer isso, abra um shell e faça o seguinte:
- Como root ou sudo digite na linha de comando:
# update-alternatives --config javac
Localize o número que aponta para o jdk da sun, digite esse número e pressione "ENTER".
Você Terminou!De agora em diante você pode desfrutar do java.util.Scanner no Ubuntu.
System.out.println("Say thank you, Mr.");
Scanner scanner = java.util.Scanner(System.in);
String thanks = scanner.next();
System.out.println("Your welcome.");