#java #stringbuilder
#java #stringbuilder
Вопрос:
Я пытаюсь написать «решатель» судоку, и netbeans выдает мне 3 сообщения об ошибках, связанных со StringBuilder. У меня были разные файлы для каждого класса, но тогда он тоже не компилировался. Каждый сайт, который я посетил, подсказал, как я это делаю. Пожалуйста, помогите.
public class Sudoku {
public static void main(String[] args) {
int[][] mainpuzzle =
{{5, 3, 0, 0, 7, 0, 0, 0, 0},
{6, 0, 0, 1, 9, 5, 0, 0, 0},
{0, 9, 8, 0, 0, 0, 0, 6, 0},
{8, 0, 0, 0, 6, 0, 0, 0, 3},
{4, 0, 0, 8, 0, 3, 0, 0, 1},
{7, 0, 0, 0, 2, 0, 0, 0, 6},
{0, 6, 0, 0, 0, 0, 2, 8, 0},
{0, 0, 0, 4, 1, 9, 0, 0, 5},
{0, 0, 0, 0, 8, 0, 0, 7, 9}};
StringBuilder builder = new StringBuilder();
for (int i = 0; i < 81; i ) {
builder.append("09123456789"); // 11
}
for (int j = 0;j < 9; j ) {
for ( int k = 0;k < 9;k ) {
if ( mainpuzzle [j][k] != 0 ) {
String replace1 = String.valueOf(mainpuzzle[j][k]);
builder.replace((j*11) (k*11), (j*11) (k*11),
replace1);
}
}
}
GetSquareCandidates getSqCandid = new GetSquareCandidates();
StringBuilder builderMarkup = new StringBuilder();
builderMarkup = getSqCandid(builder);
}
}
class GetSquareCandidates {
public StringBuilder GetSquareCandidates(StringBuilder boxPassed)
StringBuilder boxRet = new StringBuilder();
boxRet = boxPassed;
return boxRet;
}
}
Комментарии:
1. А ошибки есть?
2. Нам нужно увидеть ошибки компилятора, чтобы помочь вам их решить. Кроме того, ошибки должны указывать, в какой строке возникла проблема. Пожалуйста, укажите это в вашем исходном коде.
3. Я подозреваю, что вы делаете не то, что думаете, что делаете здесь:
builder.replace((j*11) (k*11), (j*11) (k*11), replace1);
4. Мне было интересно узнать о математике этой строки.
Ответ №1:
Глядя на ваш код, не хватает нескольких вещей, как показано ниже
GetSquareCandidates
GetSquareCandidates
метод класса не имеет открытой фигурной скобки.getSqCandid(StringBuilder builder)
метод не определен в вашемGetSquareCandidates
классе.
Кроме этого, пожалуйста, поделитесь сообщениями об ошибках компиляции.
Комментарии:
1. Netbeans подчеркнул добавление и замену для builder, а также getSqCandid(builder).
2. Он говорит «не удается найти символ».
Ответ №2:
Есть только несколько ошибок, которые вы можете найти ниже:
- Случай 1.Если
public StringBuilder GetSquareCandidates(StringBuilder boxPassed)
это aconstructor
, то это невозможноreturn
. - Случай 2.Если это метод, пожалуйста, внесите следующие изменения:
- Вызовите метод с помощью
builderMarkup = getSqCandid.GetSquareCandidates(builder);
- Добавить
{
послеpublic StringBuilder GetSquareCandidates(StringBuilder boxPassed)
.
- Вызовите метод с помощью
Рекомендуется использовать имя метода like getSquareCandidates()
.