2010-02-18 5 views
0

Я только начал экспериментировать с java сегодня (есть опыт работы с javascript и PHP), и у меня возникли проблемы с компиляцией этого кода.Что не так с этим кодом?

Я использую NewBeans IDE 6.8 на Mac.

Он просто говорит: «Один или несколько проектов были скомпилированы с ошибками».

Проблема началась, когда я попытался добавить пользовательскую функцию в

Вот код (игнорировать все комментарии):.

import java.io.*; 
import java.net.*; 

public class simpleServer 
{ 
    public static void main(String args[]) 
    { 
    } 

    public void clientLoop() 
    { 
     // Message terminator 
     char EOF = (char)0x00; 

     try 
     { 
      // create a serverSocket connection on port 9999 
      ServerSocket s = new ServerSocket(4041); 

      System.out.println("Server started. Listening for connections..."); 
      // wait for incoming connections 
      Socket incoming = s.accept(); 

      BufferedReader data_in = new BufferedReader(
        new InputStreamReader(incoming.getInputStream())); 
      PrintWriter data_out = new PrintWriter(incoming.getOutputStream()); 

      data_out.println("Connected to Shipz Server." + EOF); 
      data_out.flush(); 

      boolean quit = false; 


      while (!quit) 
      { 
       String msg = data_in.readLine(); 

       if (msg == null) quit = true; 

       if (!msg.trim().equals("EXIT")) 
       { 
        if(msg.trim().equals("hShipzClient")) 
        { 
         System.out.println("Client Connected"); 
        } 

        if(msg.trim().equals("c")){ 
         System.out.println("Player collision"); 
         data_out.println("You crashed!"); 
        } 
        data_out.flush(); 
       } 
       else 
       { 
        quit = true; 
       } 
      } 
     } 
     catch (Exception e) 
     { 
      System.out.println("Connection lost"); 
     } 
    } 

Благодаря

+1

Я собираюсь идти вперед и быть первым, чтобы спросить – Malaxeur

+0

Вы уверены, что это нигде не было, какие ошибки были найдены? – Thirler

+3

Как правило, Netbeans (и eclipse, intellij и ... вы получаете точку) выделяет/подчеркивает, где именно он считает, что проблема (если только вы не отключили эту функцию вручную). Можете ли вы рассказать нам, где IDE думает, что проблема в том, что мне не нужно копировать/вставлять этот код в мой? – amischiefr

ответ

3

я думаю, что вам не хватает концовки вьющийся -brace "}" в самом конце вашей программы.

+0

это сделало трюк, спасибо. – Alex

1

Код компилируется в порядке. Как уже упоминалось, финальная фигурная скобка отсутствует из того, что вы разместили здесь. Кроме того, принято называть классы в верблюжьем футляре с первой буквой с верхним покрытием.

3

1) Код, на который вы вставили, отсутствует закрывающая скобка.
2) как только вы раскомментируете строки в своем основном методе, вы заметите, что вы не можете вызвать метод экземпляра clientLoop() из статического метода i./e. главный().
2.1) Вам необходимо создать экземпляр вашего класса, а затем вызвать clientLoop() для экземпляра.
2.2) Но прежде чем вы это сделаете, мы обычно называем наши классы буквой «Столица» в java, см. http://java.sun.com/docs/codeconv/html/CodeConventions.doc8.html
2.3) Также вы должны попытаться выровнять фигурные скобки для удобства чтения.
3), который должен дать вам что-то вроде этого: «? Вы смотрели на ваши ошибки компиляции»

public static void main(String args[]) { 
    SimpleServer ss = new SimpleServer(); 
    while (true) { 

     ss.clientLoop(); 
    } 

}