Сканер не может быть преобразован в тип - PullRequest
0 голосов
/ 17 сентября 2008

Я только что установил Ubuntu 8.04, и я прохожу курс по Java, поэтому решил, почему бы не установить IDE во время его установки. Поэтому я выбираю свою IDE, Eclipse, и делаю очень простую программу Hello World, чтобы убедиться, что все работает гладко. Когда я использую сканер для ввода данных пользователем, я получаю очень странную ошибку:

Мой код:

import java.util.Scanner;</p>

<p>class test {
    public static void main (String [] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("hi");
    }
}

Выход:

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)

Ответы [ 4 ]

4 голосов
/ 17 сентября 2008

Класс Scanner является новым в Java 5. Я не знаю, что такое стандартная Java-среда Hardy, но это не Sun и поэтому может быть устаревшей.

Я рекомендую установить пакет sun-java6-jdk, чтобы получить самую последнюю версию, а затем указать Eclipse, чтобы он использовался.

0 голосов
/ 23 января 2009

Я знаю, прошло довольно много времени с тех пор, как вопрос был опубликован. Но решение все еще может быть интересным для любого там. Это на самом деле довольно просто ...

В Ubuntu вам нужно установить компилятор java "javac", чтобы использовать jdk от sun вместо любой другой альтернативы. Разница в некоторых ответах, опубликованных до сих пор, заключается в том, что я говорю о javac, а не java. Для этого запустите оболочку и сделайте следующее:

  1. В качестве пользователя root или sudo введите в командной строке:

# update-alternatives --config javac

  1. Найдите число, указывающее на jdk солнца, введите это число и нажмите «ENTER».

  2. Готово! Отныне вы можете наслаждаться java.util.Scanner под Ubuntu.

System.out.println("Say thank you, Mr."); Scanner scanner = java.util.Scanner(System.in); String thanks = scanner.next(); System.out.println("Your welcome.");

0 голосов
/ 17 сентября 2008

Может также случиться так, что, хотя у вас JDK 1.5 или выше, у проекта есть некоторые специфические настройки, которые сообщают ему о компиляции как 1.4. Вы можете проверить это с помощью Project >> Properties >> Java Compiler и убедиться, что для «Compliance Compliance Level» установлено значение 1,5 или выше.

0 голосов
/ 17 сентября 2008

Если вы используете версию Java до 1.5, java.util.Scanner не существует.

Какую версию JDK настроил ваш проект Eclipse?

Просмотрите Project, Properties, Java Build Path - найдите запись 'JRE System Library', рядом с которой должен быть номер версии.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...