2013-09-26 2 views
0

Каждый раз, когда я компилирую его, у меня есть 21 ошибка с этим фрагментом кода? Я действительно застрял в этом пункте ... Я все пробовал. Было бы здорово, если бы кто-нибудь мог мне помочь.ошибка класса, интерфейса или enum?

Вот код:

//Normal-Player End 

public static void archiveLogs(Player player, String[] cmd) { 
    try { 
     if (player.getRights() < 1) 
      return; 
     String location = ""; 
     if (player.getRights() >= 5) { 
      location = "data/logs/admin" + player.getUsername() + ".txt"; 
     } else if (player.getRights() == 4) { 
      location = "data/logs/mod" + player.getUsername() + ".txt"; 
     } 
     String afterCMD = ""; 
     for (int i = 1; i < cmd.length; i++) 
    afterCMD += cmd[i] + ((i == cmd.length - 1) ? "" : " "); 
     BufferedWriter writer = new BufferedWriter(new FileWriter(location, 
       true)); 
     writer.write("[" + now("dd MMMMM yyyy 'at' hh:mm:ss z") + "] - ::" 
       + cmd[0] + " " + afterCMD); 
     writer.newLine(); 
     writer.flush(); 
     writer.close(); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
} 

public static String now(String dateFormat) { 
    Calendar cal = Calendar.getInstance(); 
    SimpleDateFormat sdf = new SimpleDateFormat(dateFormat); 
    return sdf.format(cal.getTime()); 
} 

private Commands() { 

} 

}

Вот что говорит мой компилятор:

     writer.flush(); 
         ^
src\com\rs\game\player\content\Commands.java:2502: error: class, interface, or e 
num expected 
         writer.close(); 
         ^
src\com\rs\game\player\content\Commands.java:2503: error: class, interface, or e 
num expected 
       } catch (IOException e) { 
       ^
src\com\rs\game\player\content\Commands.java:2505: error: class, interface, or e 
num expected 
       } 
       ^
src\com\rs\game\player\content\Commands.java:2515: error: class, interface, or e 
num expected 
     public static String now(String dateFormat) { 
        ^
src\com\rs\game\player\content\Commands.java:2517: error: class, interface, or e 
num expected 
       SimpleDateFormat sdf = new SimpleDateFormat(dateFormat); 
       ^
src\com\rs\game\player\content\Commands.java:2518: error: class, interface, or e 
num expected 
       return sdf.format(cal.getTime()); 
       ^
src\com\rs\game\player\content\Commands.java:2519: error: class, interface, or e 
num expected 
     } 
     ^
Note: src\com\rs\game\player\Inventory.java uses unchecked or unsafe operations. 

Note: Recompile with -Xlint:unchecked for details. 
21 errors 
compiling Dialogues 
src\com\rs\game\player\content\Commands.java:2477: error: illegal start of type 
       return true; 
       ^
src\com\rs\game\player\content\Commands.java:2477: error: ';' expected 
       return true; 
        ^
src\com\rs\game\player\content\Commands.java:2483: error: class, interface, or e 
num expected 
     public static void archiveLogs(Player player, String[] cmd) { 
        ^
src\com\rs\game\player\content\Commands.java:2487: error: class, interface, or e 
num expected 
         String location = ""; 
         ^
src\com\rs\game\player\content\Commands.java:2488: error: class, interface, or e 
num expected 
         if (player.getRights() >= 5) { 
         ^
src\com\rs\game\player\content\Commands.java:2490: error: class, interface, or e 
num expected 
         } else if (player.getRights() == 4) { 
         ^
src\com\rs\game\player\content\Commands.java:2492: error: class, interface, or e 
num expected 
         } 
         ^
src\com\rs\game\player\content\Commands.java:2494: error: class, interface, or e 
num expected 
         for (int i = 1; i < cmd.length; i++) 
         ^
src\com\rs\game\player\content\Commands.java:2494: error: class, interface, or e 
num expected 
         for (int i = 1; i < cmd.length; i++) 
             ^
src\com\rs\game\player\content\Commands.java:2494: error: class, interface, or e 
num expected 
         for (int i = 1; i < cmd.length; i++) 
                 ^
src\com\rs\game\player\content\Commands.java:2496: error: class, interface, or e 
num expected 
         BufferedWriter writer = new BufferedWriter(new FileWrite 
r(location, 
         ^
src\com\rs\game\player\content\Commands.java:2498: error: class, interface, or e 
num expected 
         writer.write("[" + now("dd MMMMM yyyy 'at' hh:mm:ss z") 
+ "] - ::" 
         ^
src\com\rs\game\player\content\Commands.java:2500: error: class, interface, or e 
num expected 
         writer.newLine(); 
         ^
src\com\rs\game\player\content\Commands.java:2501: error: class, interface, or e 
num expected 
         writer.flush(); 
         ^
src\com\rs\game\player\content\Commands.java:2502: error: class, interface, or e 
num expected 
         writer.close(); 
         ^
src\com\rs\game\player\content\Commands.java:2503: error: class, interface, or e 
num expected 
       } catch (IOException e) { 
       ^
src\com\rs\game\player\content\Commands.java:2505: error: class, interface, or e 
num expected 
       } 
       ^
src\com\rs\game\player\content\Commands.java:2515: error: class, interface, or e 
num expected 
     public static String now(String dateFormat) { 
        ^
src\com\rs\game\player\content\Commands.java:2517: error: class, interface, or e 
num expected 
       SimpleDateFormat sdf = new SimpleDateFormat(dateFormat); 
       ^
src\com\rs\game\player\content\Commands.java:2518: error: class, interface, or e 
num expected 
       return sdf.format(cal.getTime()); 
       ^
src\com\rs\game\player\content\Commands.java:2519: error: class, interface, or e 
num expected 
     } 
     ^
Note: src\com\rs\game\player\Inventory.java uses unchecked or unsafe operations. 

Note: Recompile with -Xlint:unchecked for details. 
21 errors 
compiled Main Server Folder 
src\com\rs\game\player\content\Commands.java:2477: error: illegal start of type 
       return true; 
       ^
src\com\rs\game\player\content\Commands.java:2477: error: ';' expected 
       return true; 
        ^
src\com\rs\game\player\content\Commands.java:2483: error: class, interface, or e 
num expected 
     public static void archiveLogs(Player player, String[] cmd) { 
        ^
src\com\rs\game\player\content\Commands.java:2487: error: class, interface, or e 
num expected 
         String location = ""; 
         ^
src\com\rs\game\player\content\Commands.java:2488: error: class, interface, or e 
num expected 
         if (player.getRights() >= 5) { 
         ^
src\com\rs\game\player\content\Commands.java:2490: error: class, interface, or e 
num expected 
         } else if (player.getRights() == 4) { 
         ^
src\com\rs\game\player\content\Commands.java:2492: error: class, interface, or e 
num expected 
         } 
         ^
src\com\rs\game\player\content\Commands.java:2494: error: class, interface, or e 
num expected 
         for (int i = 1; i < cmd.length; i++) 
         ^
src\com\rs\game\player\content\Commands.java:2494: error: class, interface, or e 
num expected 
         for (int i = 1; i < cmd.length; i++) 
             ^
src\com\rs\game\player\content\Commands.java:2494: error: class, interface, or e 
num expected 
         for (int i = 1; i < cmd.length; i++) 
                 ^
src\com\rs\game\player\content\Commands.java:2496: error: class, interface, or e 
num expected 
         BufferedWriter writer = new BufferedWriter(new FileWrite 
r(location, 
         ^
src\com\rs\game\player\content\Commands.java:2498: error: class, interface, or e 
num expected 
         writer.write("[" + now("dd MMMMM yyyy 'at' hh:mm:ss z") 
+ "] - ::" 
         ^
src\com\rs\game\player\content\Commands.java:2500: error: class, interface, or e 
num expected 
         writer.newLine(); 
         ^
src\com\rs\game\player\content\Commands.java:2501: error: class, interface, or e 
num expected 
         writer.flush(); 
         ^
src\com\rs\game\player\content\Commands.java:2502: error: class, interface, or e 
num expected 
         writer.close(); 
         ^
src\com\rs\game\player\content\Commands.java:2503: error: class, interface, or e 
num expected 
       } catch (IOException e) { 
       ^
src\com\rs\game\player\content\Commands.java:2505: error: class, interface, or e 
num expected 
       } 
       ^
src\com\rs\game\player\content\Commands.java:2515: error: class, interface, or e 
num expected 
     public static String now(String dateFormat) { 
        ^
src\com\rs\game\player\content\Commands.java:2517: error: class, interface, or e 
num expected 
       SimpleDateFormat sdf = new SimpleDateFormat(dateFormat); 
       ^
src\com\rs\game\player\content\Commands.java:2518: error: class, interface, or e 
num expected 
       return sdf.format(cal.getTime()); 
       ^
src\com\rs\game\player\content\Commands.java:2519: error: class, interface, or e 
num expected 
     } 
     ^
21 errors 
compiled Main Server Folder 
src\com\rs\game\player\content\Commands.java:2477: error: illegal start of type 
       return true; 
       ^
src\com\rs\game\player\content\Commands.java:2477: error: ';' expected 
       return true; 
        ^
src\com\rs\game\player\content\Commands.java:2483: error: class, interface, or e 
num expected 
     public static void archiveLogs(Player player, String[] cmd) { 
        ^
src\com\rs\game\player\content\Commands.java:2487: error: class, interface, or e 
num expected 
         String location = ""; 
         ^
src\com\rs\game\player\content\Commands.java:2488: error: class, interface, or e 
num expected 
         if (player.getRights() >= 5) { 
         ^
src\com\rs\game\player\content\Commands.java:2490: error: class, interface, or e 
num expected 
         } else if (player.getRights() == 4) { 
         ^
src\com\rs\game\player\content\Commands.java:2492: error: class, interface, or e 
num expected 
         } 
         ^
src\com\rs\game\player\content\Commands.java:2494: error: class, interface, or e 
num expected 
         for (int i = 1; i < cmd.length; i++) 
         ^
src\com\rs\game\player\content\Commands.java:2494: error: class, interface, or e 
num expected 
         for (int i = 1; i < cmd.length; i++) 
             ^
src\com\rs\game\player\content\Commands.java:2494: error: class, interface, or e 
num expected 
         for (int i = 1; i < cmd.length; i++) 
                 ^
src\com\rs\game\player\content\Commands.java:2496: error: class, interface, or e 
num expected 
         BufferedWriter writer = new BufferedWriter(new FileWrite 
r(location, 
         ^
src\com\rs\game\player\content\Commands.java:2498: error: class, interface, or e 
num expected 
         writer.write("[" + now("dd MMMMM yyyy 'at' hh:mm:ss z") 
+ "] - ::" 
         ^
src\com\rs\game\player\content\Commands.java:2500: error: class, interface, or e 
num expected 
         writer.newLine(); 
         ^
src\com\rs\game\player\content\Commands.java:2501: error: class, interface, or e 
num expected 
         writer.flush(); 
         ^
src\com\rs\game\player\content\Commands.java:2502: error: class, interface, or e 
num expected 
         writer.close(); 
         ^
src\com\rs\game\player\content\Commands.java:2503: error: class, interface, or e 
num expected 
       } catch (IOException e) { 
       ^
src\com\rs\game\player\content\Commands.java:2505: error: class, interface, or e 
num expected 
       } 
       ^
src\com\rs\game\player\content\Commands.java:2515: error: class, interface, or e 
num expected 
     public static String now(String dateFormat) { 
        ^
src\com\rs\game\player\content\Commands.java:2517: error: class, interface, or e 
num expected 
       SimpleDateFormat sdf = new SimpleDateFormat(dateFormat); 
       ^
src\com\rs\game\player\content\Commands.java:2518: error: class, interface, or e 
num expected 
       return sdf.format(cal.getTime()); 
       ^
src\com\rs\game\player\content\Commands.java:2519: error: class, interface, or enum expected 
     } 
     ^
Note: src\com\rs\game\player\Inventory.java uses unchecked or unsafe operations. 

Note: Recompile with -Xlint:unchecked for details. 
21 errors 
Compiled all Successfully 
Press any key to continue . . . 
+0

2500 строк файла java? o.O –

+0

+1: На первый взгляд этот вопрос выглядит так, будто он бросает нам какой-то код и просит нас разобраться во всем этом. Но ему не хватает одной конкретной вещи - обертывания внутри класса - и я думаю, что понятно, что Марк Фишер застрял в этом конкретном месте и обратился за помощью. – Kevin

ответ

2

Вы должны поместить все эти методы в объявлении класса. Commands Я предполагаю. Ваша ошибка кричит, что вам не хватает ключевого слова . (или интерфейс, или перечисление, но в вашем случае это класс; поверьте мне).

/** 
    * Even though this seems to be a static helper class, 
    * you still need the class declaration. The artefact 
    * name (Commands.java) won't suffice. 
    */ 
    public class Commands { // <--- Eh? 

     private Commands() { 
       // Prevent object from being instantiated 
     } 

     public static void archiveLogs(Player player, String[] cmd) { 
       // implementation omitted 
     } 

     public static String now(String dateFormat) { 
       // implementation omitted 
     } 
    } 

Extra:

  • Declaring classes in Java
  • Часы из недостающих или лишних скобок.
  • Если все остальное не удается, начните с нуля. Создайте новый класс и скопируйте метод методом, гарантируя, что ваш синтаксис верен.

Как вы знаете, эти вопросы обычно имеют тенденцию к сбою в StackOverflow.

Смежные вопросы