Я пытаюсь создать дома для задачи коммивояжера для класса.Как я могу назначить явные строки для каждого дома, который я генерирую? - PullRequest
0 голосов
/ 07 мая 2019

Для генерирования названий домов на одной стороне блока есть 10 домов, всего 20. Дома на одной стороне блока обозначаются буквой A-J, а дома на другой стороне блока имеют то же самое, но с двумя одинаковыми буквами (напр. AA, BB, ...).

    House[][] houses = new House[1000][1000];
    for (int i = 0; i < houses.length; i++) {
        for (int j = 0; j < houses.length; j++) {
            House h = new House(i, j, ""); //Need some way to designate 
    letters for each house 
        }
    }
    //House class
public class House {
    private int streetnum;
    private int avnum;
    private String houseletter = "";

    public House(int streetnum, int avnum, String houseletter) {
        streetnum = this.streetnum;
        avnum = this.avnum;
        houseletter = this.houseletter;
    }
    public int getStreetNum() {
        return streetnum;
    }
    public int getAvNum() {
        return avnum;
    }
    public String getHL() {
        return houseletter;
    }
}

1 Ответ

0 голосов
/ 07 мая 2019

Не уверен, что это ответ на ваш вопрос, но в конструкторе класса House назначения должны быть записаны наоборот.this относится к текущему экземпляру House, который создается.

public House(int streetnum, int avnum, String houseletter) {
    this.streetnum = streetnum;
    this.avnum = avnum;
    this.houseletter = houseletter;
}
...