Java: создание головоломки судоку не работает должным образом - PullRequest
0 голосов
/ 15 ноября 2018

Я пытаюсь сделать приложение судоку, и в нем я создаю каждую головоломку.Мое поколение, я думал, должно работать безупречно, но мое приложение продолжает падать.Я думаю, что это идет отсюда и далее:

If(_band == 2) {
    while((band2.contains(placeholder)) || (band2.get((int)(_stack - 1)).doubleValue() == band1.get((int)(_stack - 1)).doubleValue())) {
        placeholder = SketchwareUtil.getRandom((int)(1),(int)(9)); 
    }
    band2.add(Double.valueOf(placeholder));
}

Это идет от диапазона 2 к диапазону 9, проверяя каждую полосу перед этим на наличие дублирующего номера в той же позиции и проверяя ее диапазон на дублирующееся число.

Если это помогает, генерация band3 выглядит следующим образом:

If(_band == 3) {
    while((band3.contains(placeholder)) || (band3.get((int)(_stack - 1)).doubleValue() == band1.get((int)(_stack - 1)).doubleValue()) || (band3.get((int)(_stack - 1)).doubleValue() == band2.get((int)(_stack - 1)).doubleValue())) {
        placeholder = SketchwareUtil.getRandom((int)(1)), ((int)(9));
    } 
    band3.add(Double.valueOf(placeholder));
}  

Код ошибки всегда: недопустимый список операций: индекс: 0, размер: 0

...