Стэнфордский Карел Робот генерирует исключение NullPointerException - PullRequest
6 голосов
/ 07 января 2012

Я начал изучать методологию программирования курса (CS106A), доступную на веб-сайте Стэнфорда.Но я не могу запустить в нем Стэнфорд Карел.

Я использую eclipse indigo classic 3.7.1 и 64-битную ОС Windows 7 ..

Я написал следующий код:

import stanford.karel.*;

public class CollectNewspaperKarel extends SuperKarel {
    // You fill in this part
    public void run(){
      move();
      move();
    }
}

Выдает ошибку

Exception in thread "main" java.lang.NullPointerException
   at acm.program.Program.main(Program.java:917)
   at stanford.karel.Karel.main(Karel.java:202)

Я следовал некоторым инструкциям, приведенным здесь , но затем получил пустой экран в качестве вывода.

Назначение1Стэнфорда можно найти здесь , а Карел робот из Стэнфорда доступен здесь

Ответы [ 10 ]

5 голосов
/ 09 октября 2012

привет bhuwansahni , хотя я уже писал ответ раньше, но сейчас я пишу весь процесс запуска Karel в любой версии Eclipse.

  1. Создать новыйпроект в вашем Eclipse (Файл -----> Новый -----> Проект Java)

  2. Загрузить свое назначение в созданном проекте.

    шаг a: - Извлечение Назначение 1 в нужной папке.

    шаг b: - импорт назначения (Файл -----> Импорт -----> Общие -----> Файловая система -----> просмотрите папку и завершите импорт.)

  3. Теперь запустите его другим способом (Выполнить -----> Выполнить настройки ----->)

    Шаг a: - Под Java Applet Создать новую конфигурацию.

    Шаг b: - Под Main напишите основной класс stanford.karel.Karel

    Изображение для ** шага b шага 3 ] http://i.stack.imgur.com/0LpI3.jpg

    Шаг c: - Под (x) = Аргументы в аргументах программы напишите code = CollectNewspaperKarel

    Изображениедля ** Шаг b шага 3 ] http://i.stack.imgur.com/alIss.jpg

    Шаг d: - Применить и Выполнить

  4. А вот и Карел, самый привлекательный робот.

    Изображение для ** Step 3 ] URL: - ( i.stack.imgur.com / d8SAa.jpg ) поместите http: // впереди, чтобы увидетьэто ... так как здесь я не могу опубликовать более двух гиперссылок.

4 голосов
/ 02 августа 2013
public class StoneMasonKarel extends SuperKarel {
    public static void main(String[] args) {
        stanford.karel.Karel.main(new String[] { "code="
                + StoneMasonKarel.class.getCanonicalName() });
    }
    public void run() {
    }
}

Вам нужна Java6.

В Eclipse:

  1. Проект >> Настройки >> Java Compiler: выберите 1.6
  2. Щелкните правой кнопкой мыши кнопку «Выполнить»>> Выполнить настройку >> Вкладка JRE >> Оповещение JRE: выберите / добавьте свой путь Java 6

Затем я реализую основной метод для каждого проекта, как показано выше.Для каждого переименования StoneMasonKarel.class в любое имя вашего класса.

1 голос
/ 22 июня 2014

На момент написания этого поста я только что понял это и написал целый пост в блоге, чтобы объяснить его дальше. Вот фрагмент кода:

"Так вот в чем дело. Вы должны загрузить OpenJDK6 из Ubuntu Software Center (USC). Возможно, у вас уже есть его на вашем компьютере, но вы все равно должны проверить USC на всякий случай. Как только вы это сделаете , вернитесь в Eclipse и откройте Windows, Preferences, которая должна открыться прямо в «Installed JRE». "

Больше на: http://bakaripace.wordpress.com/2014/06/21/how-to-set-up-stanfords-karel-in-ubuntu-14-04-lts/

1 голос
/ 18 января 2012

Вы получаете эту ошибку, потому что вы не используете версию Eclipse, предоставленную Стэнфордским университетом.Для получения более подробной информации,

Редактировать: удалили эту ссылку, так как она больше не работает.

Редактировать:

Поскольку вышеуказанная ссылка не работаетбольше я написал следующие шаги.Поскольку я больше не использую Karel, если кто-то выполнил руководство и может внести какие-либо исправления, оставьте комментарий для редактирования этого ответа.

Инструкции:

a. Посетите веб-сайт Стэнфорда и загрузите следующие программы

  1. Eclipse для Windows из Стэнфорда
  2. Программное обеспечение Java Jre

b. Установите программное обеспечение.

c. Загрузите файл Assignment1.zip с вкладки Назначения.

d.УстановитеНазначение в Eclipse.

Теперь мы закончили с руководством по установке.Обсудим общие проблемы:

Проблемы:

Проблема 1: Пустой экран

Это означает, что вы установилипоследняя версия программного обеспечения Sun Java JRE.Решением этой проблемы является I. Удалите все версии программного обеспечения JRE, за исключением версии, загруженной с веб-сайта Stanford.

ИЛИ попробуйте

a.Open Eclipse Software.

b.На панели инструментов меню нажмите «Окно», а затем нажмите «Настройки»

c.Выполните следующие простые шаги:

  1. В окне настроек выберите Java.
  2. В раскрывающемся разделе, показанном в разделе Java, нажмите Установленные JRE.
  3. JRE weс веб-сайта Stanford загружено обновление jre6 2. Так что выберите его.Только jre6 совместим с программным обеспечением stanford eclipse.Поэтому снимите все остальные версии, установленные в вашей системе, и установите флажок jre6, как показано на рисунке ниже.
  4. Нажмите Ok.5. Запустите программу.Теперь вы можете видеть, что с выводом все в порядке.

Проблема 2: Ошибка

При запуске программы вы можете иногда заметить эту ошибку.

*

*Exception in thread "main" java.lang.NullPointerException
    at acm.program.Program.main(Program.java:917)
    at stanford.karel.Karel.main(Karel.java:202)*

*

Это означает, что вы не загружали программное обеспечение Stanford Eclipse и используете последнюю версию Eclipse, которую вы загрузили с веб-сайта Eclipse.Так что следуйте подробному руководству, которое я упомянул выше.Все будет работать нормально.

0 голосов
/ 12 октября 2016

У меня была такая же проблема, я использую Eclipse Neon в Ubuntu, а не в Stanford Eclipse.Я неправильно установил вкладку Аргумент.Убедитесь, что вы правильно настроили конфигурацию запуска.

0 голосов
/ 13 августа 2016

https://support.apple.com/kb/DL1572?locale=en_US&viewlocale=en_US

Скачать JRE 6 для OSx на этом сайте :)

0 голосов
/ 12 мая 2014

Просто установите JRE6 и все заработает.Это сработало для меня, ничего не делая.Просто вставьте JRE6 и скомпилируйте это.Измените тип компилятора в проекте> свойства> компилятор

0 голосов
/ 18 июля 2013

Возможно, это касается только Juno Eclipse, но мне также пришлось установить флажок «Включить унаследованные сети при поиске основного класса» на вкладке «Главная» в диалоговом окне «Выполнить конфигурации ...».

0 голосов
/ 28 октября 2012

Обязательно используйте JRE6, а не JRE7.

Для этого вам не нужно удалять JRE7 и устанавливать JR6. Просто установите JRE6. В Eclipse перейдите в Окно -> Настройки -> Java -> Установленные JRE. Добавьте путь к JRE6. В конфигурации «Выполнить» выберите «Альтернативный JRE для jre6».

0 голосов
/ 11 января 2012

В большинстве случаев это может быть результатом отсутствия изменений, таких как настройки сборки.Проверьте настройки вашей конфигурации в Eclipse.

...