Может ли кто-нибудь помочь мне отладить мое приложение (не очень большое)? - PullRequest
1 голос
/ 14 января 2011

Не уверен, что этот вид помощи можно получить здесь, скажите мне, если это не так.

Это должно быть сделано до завтра, оно не закончено полностью, но теперь оно должно работать нормально. Я пытаюсь использовать отладчик Eclipse (не очень привык к нему).

ОК, у меня был старый класс «Отладка» в другой папке проекта, который был тестом отладки. Я не дал ему это имя, это было задание. Казалось, это вызвало некоторые проблемы, убрал его, и теперь моя трассировка стека намного меньше.

Я попытался отладить конструктор Board, добавил исходный код из конструктора в метод и попытался запустить этот метод в конструкторе. Что не имеет никакого значения, но все же.

Теперь трассировка стека выглядит следующим образом:

Thread [main] (Suspended)   
Board(Object).<init>() line: 20 
Board.<init>() line: 9  
Game.<init>() line: 15  
Game.main(String[]) line: 11    

Конструктор платы:

публичный класс Board {

private int COLUMNS = 8;
private int ROWS = 8;
private Square[][] grid;

public Board(){
    addGrid();
}

public void addGrid(){
    grid = new Square[COLUMNS][ROWS];
    for(int row = 0; row < 8; row++){
        for(int col = 0; col < 8; col++){
            grid[col][row] = new Square(this);
        }
    }
}

Квадратный конструктор:

public class Square {

    private Piece piece;
    private Board board;

    public Square(Board b){
        board = b;
    }

Среди моих контрольных точек я заметил это:

ArrayIndexOutOfBoundsException: caught and uncaught 

Попробовал еще раз и получил что-то похожее, как и раньше:

Thread [main] (Suspended)   
ClassNotFoundException(Throwable).<init>(String, Throwable) line: 217   
ClassNotFoundException(Exception).<init>(String, Throwable) line: not available 
ClassNotFoundException.<init>(String) line: not available   
URLClassLoader$1.run() line: not available  
AccessController.doPrivileged(PrivilegedExceptionAction<T>, AccessControlContext) line: not available [native method]   
Launcher$ExtClassLoader(URLClassLoader).findClass(String) line: not available   
Launcher$ExtClassLoader.findClass(String) line: not available   
Launcher$ExtClassLoader(ClassLoader).loadClass(String, boolean) line: not available 
Launcher$AppClassLoader(ClassLoader).loadClass(String, boolean) line: not available 
Launcher$AppClassLoader.loadClass(String, boolean) line: not available  
Launcher$AppClassLoader(ClassLoader).loadClass(String) line: not available  
Board.addGrid() line: 14    
Board.<init>() line: 10 
Game.<init>() line: 15  
Game.main(String[]) line: 11    

1 Ответ

1 голос
/ 14 января 2011

По какой-то причине ваш класс Game не может видеть класс Board.Если разделы кода, которые вы разместили, верны, похоже, потому что у них нет объявлений пакетов в верхней части кода.Вы должны поместить что-то вроде этого в первую строку вашего кода:

package boardGame;

public class Board {

и т. Д.в начале каждого класса.Кроме того, имя пакета должно совпадать с именем папки, содержащей исходные файлы.

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