java公共静态和私有静态,stringbuilder

java公共静态和私有静态,stringbuilder,java,private,stringbuilder,public-method,Java,Private,Stringbuilder,Public Method,下面是我试图编译的代码,似乎我在方法中使用方法有问题,无法关闭第一个方法。因此,无法编译程序。此外,我不确定我应用的Stringbuilder是否正确,因为我无法编译 import javax.swing.JOptionPane; public class tryingtoedit{ public static void main( String[] args ){ int block[][] = new int[gridsize][gridsize]; int row = 0; //

下面是我试图编译的代码,似乎我在方法中使用方法有问题,无法关闭第一个方法。因此,无法编译程序。此外,我不确定我应用的Stringbuilder是否正确,因为我无法编译

import javax.swing.JOptionPane;

public class tryingtoedit{

public static void main( String[] args ){
int block[][] = new int[gridsize][gridsize];
int row = 0;   // The variable assigned for counting rows
int column = 0; // The variable assigned for counting columns
int blockRow,blockColumn;
int score = 0;
final int gridsize = 3;
String inputRow, inputColumn;

//random a set of number
int randomSet[] = new int[100];
for(int i=0;i<randomSet.length;i++){
    randomSet[i] = (int) (Math.random() * gridsize * gridsize) + 1;
}


int round = 0 ;//for counting the round of the game
while( true ){
    ++round;

    //print out the title and score
    System.out.println( "-------------------------" );
    System.out.println( "Divided by 10 - Mini Game" );
    System.out.printf( "----  Score:%8d  ----\n\n", score );

    //show game board
    StringBuilder sb = new StringBuilder();
    for (int i = 0; i < gridsize; i++) {
        sb.append(String.format("%4d", i));
}

    //display the coming value
    System.out.printf( "Coming value : %d > %d > %d \n\n", randomSet[round], randomSet[(round + 1)], randomSet[(round + 2)] );



    //check over checking
    private static final boolean isComplete(int[][] grid) {
        for (int row = 0; row < grid.length; row++) {
            for (int col = 0; col < grid[row].length; col++) {
                if (grid[row][col] == 0) {
                    return false;
                }
            }
        }
        return true; // all celss have values.
}
                System.out.println( "------  Game Over  ------" );
                //continue check
                if(isComplete(block)){
                int ContinueCheck = JOptionPane.showConfirmDialog(null, "Do you want to    continue ?", "Continue?", JOptionPane.YES_NO_OPTION);
                if( ContinueCheck == JOptionPane.YES_OPTION){
                    //initialize the game board
                    for(row=0;row<block.length;row++)
                        for(column=0;column<block.length;column++)
                            block[row][column]=0;
                    continue;
                }else{if(ContinueCheck == JOptionPane.NO_OPTION){
                    System.out.println( "-------------------------" );
                    System.out.println("Good Bye !");
                    break;}
                }
            }


    //input value
    while(true){
        inputRow = JOptionPane.showInputDialog( "The number of row you want to put the number" );
        blockRow = Integer.parseInt(inputRow);
        inputColumn = JOptionPane.showInputDialog( "The number of column you want to put the number" );
        blockColumn = Integer.parseInt(inputColumn);
        if(blockRow>=block.length || blockRow<0 || blockColumn>=block.length || blockColumn<0){
            JOptionPane.showMessageDialog(null , "The block you want to enter the number does not exist." , "Error" , JOptionPane.ERROR_MESSAGE );
            continue;
        }else{
            if(block[blockRow][blockColumn]!=0){
                JOptionPane.showMessageDialog(null , "The block you want to enter the number has been entered an number." , "Error" , JOptionPane.ERROR_MESSAGE );
                continue;
            }else{
                block[blockRow][blockColumn] = randomSet[round];
                break;
            }
        }
    }


    //score got check
    int modSumBlock[] = new int[gridsize + gridsize + 2]; // rows, columns, and diagonals
    for (int row = 0; row < gridsize; row++) {
        modSumBlock[       0 + row] = getRowScore(block, row);
    }
    for (int col = 0; col < gridsize; col++) {
        modSumBlock[gridsize + col] = getColumnScore(block, col);
    }
    modSumBlock[gridsize + gridsize]     = getSlashDiagonalScore(block);
    modSumBlock[gridsize + gridsize + 1] = getBackslashDiagonalScore(block);
    //all 'if' is used for checking if all block in the same row/column/diagonal are filled in number

    //counting how many score got and where should be cleared by 8bit (in decimal)
    int scoreCount = 0;
    for(int n=0;n<8;n++){
        if(modSumBlock[n]==0){
            score += 10;
            scoreCount += (int) Math.pow(2,n);
        }else{
            continue;
        }
    }

    //start clear game board
    if(scoreCount>=128){
        block[0][2] = 0;
        block[1][1] = 0;
        block[2][0] = 0;
        scoreCount -= 128;
    }
    if(scoreCount>=64){
        block[0][0] = 0;
        block[1][1] = 0;
        block[2][2] = 0;
        scoreCount -= 64;
    }
    if(scoreCount>=32){
        block[0][2] = 0;
        block[1][2] = 0;
        block[2][2] = 0;
        scoreCount -= 32;
    }
    if(scoreCount>=16){
        block[0][1] = 0;
        block[1][1] = 0;
        block[2][1] = 0;
        scoreCount -= 16;
    }
    if(scoreCount>=8){
        block[0][0] = 0;
        block[1][0] = 0;
        block[2][0] = 0;
        scoreCount -= 8;
    }
    if(scoreCount>=4){
        block[2][0] = 0;
        block[2][1] = 0;
        block[2][2] = 0;
        scoreCount -= 4;
    }
    if(scoreCount>=2){
        block[1][0] = 0;
        block[1][1] = 0;
        block[1][2] = 0;
        scoreCount -= 2;
    }
    if(scoreCount>=1){
        block[0][0] = 0;
        block[0][1] = 0;
        block[0][2] = 0;
        scoreCount -= 1;
    }
}
}
}

您缺少括号和/或放错了括号。再次检查您的代码

例如,您的
isComplete
方法位于
main
方法的while循环中


如果您使用正确的缩进来确定括号的位置,这会有所帮助。

使用IDE,格式化代码。“尝试编译”始终复制/粘贴错误和异常输出。阅读错误消息。如果您不理解,请发布它。错误消息是使用私有静态最终布尔值isComplete(int[][]grid)非法启动表达式{您不能将方法放入另一个方法中。抱歉,编程新手。我已尝试关闭第二个方法“is”完成"但是,通过放置结束括号,第二个方法仍然会出现表达式非法开始的错误。现在,您已将
isComplete
方法放置在主方法中,这是不允许的。因此,在使用
isComplete
方法之前,您需要关闭主方法中的所有括号。只需计算它们,就可以了开括号的er必须等于闭括号的数量。如果我关闭我的主方法,这是否意味着我的变量不能用在主方法的末尾?你在主方法中定义的变量只能用在该方法中。
tryingtoedit.java:42: error: illegal start of expression
    private static final boolean isComplete(int[][] grid) {
    ^
tryingtoedit.java:42: error: illegal start of expression
    private static final boolean isComplete(int[][] grid) {
            ^
tryingtoedit.java:42: error: ';' expected
    private static final boolean isComplete(int[][] grid) {
                  ^
tryingtoedit.java:42: error: ';' expected
    private static final boolean isComplete(int[][] grid) {
                                           ^
tryingtoedit.java:42: error: ';' expected
    private static final boolean isComplete(int[][] grid) {
                                                        ^
5 errors

Tool completed with exit code 1