我使用StringBuilder的代码(例如:builder.append,builder.replace)给我一个编译错误。其他都没事

时间:2019-04-17 03:23:12

标签: java stringbuilder

我试图写一个数独“ solver”,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;
    }

}

2 个答案:

答案 0 :(得分:0)

看看您的代码,有如下几处缺少的内容

  1. GetSquareCandidates类的GetSquareCandidates方法没有大括号。

  2. 在您的getSqCandid(StringBuilder builder)类中未定义的
  3. GetSquareCandidates方法。

除这些以外,请共享编译错误消息。

答案 1 :(得分:0)

只有几个错误,请在下面找到:

  • 案例1。如果public StringBuilder GetSquareCandidates(StringBuilder boxPassed)constructor,则不能return
  • 情况2。如果是方法,请进行以下更改:
    • 使用builderMarkup = getSqCandid.GetSquareCandidates(builder);
    • 调用方法
    • {之后添加public StringBuilder GetSquareCandidates(StringBuilder boxPassed)

建议使用getSquareCandidates()之类的方法名称。