编译问题

时间:2017-11-12 11:57:11

标签: java compiler-errors

这是我得到的编译器错误:

JogarLightmare.java:105:错误:预期

    public static void imprimeCaminho(int posMonius, int posOutro, int linhas, int colunas, int fim){
                                                                  ^

JogarLightmare.java:105:错误:不是声明

    public static void imprimeCaminho(int posMonius, int posOutro, int linhas, int colunas, int fim){
                                                                       ^

JogarLightmare.java:105:错误:';'预期

    public static void imprimeCaminho(int posMonius, int posOutro, int linhas, int colunas, int fim){
                                                                             ^

JogarLightmare.java:105:错误:预期

    public static void imprimeCaminho(int posMonius, int posOutro, int linhas, int colunas, int fim){
                                                                                           ^

JogarLightmare.java:105:错误:不是声明

    public static void imprimeCaminho(int posMonius, int posOutro, int linhas, int colunas, int fim){
                                                                                                ^

JogarLightmare.java:105:错误:';'预期

    public static void imprimeCaminho(int posMonius, int posOutro, int linhas, int colunas, int fim){

这是有问题的方法。我已经验证了{}但我不知道问题出在哪里:

public static void imprimeCaminho(int posMonius, int posOutro, int linhas, int colunas, int fim){

      char z = '_';
      char m = 'M';
      char o = 'O';
      char a = '@';

      if(fim == 2){
        o = '*';
      }

      StringBuilder caminho = new StringBuilder(int colunas);

      for(int j = 1; j <= linhas; j = j + 1){
        for(int i = 1; i <= colunas; i = i + 1){

          if(i != posMonius && i != posOutro){
            caminho.append(z);
          }else{

            if(i == posMonius && i == posOutro){
              caminho.append(a);
            }else{

               if(i == posMonius){
                 caminho.append(m);
               }else{
                  caminho.append(o);

                }
             }
           }

        }

        if(j % 2 == 0){
          System.out.println(caminho.reverse().toString());
        }else{
          System.out.println(caminho.toString());
         }

      }

    }

1 个答案:

答案 0 :(得分:1)

替换此行:

StringBuilder caminho = new StringBuilder(int colunas);

这一行:

StringBuilder caminho = new StringBuilder(colunas);

问题是语法new StringBuilder(int colunas);无效。 int colunas通常用于声明int类型的变量,但是在这里你接受这个变量作为一个参数,它不需要再次指定类型。变量本身已在此行中声明:

public static void imprimeCaminho(int posMonius, int posOutro, int linhas, int colunas, int fim){