2013-12-06 3 views
-1

Я пишу функцию в Java, но я не могу скомпилировать код. Я не вижу синтаксическую ошибку; можешь мне помочь?Ошибки маркера, синтаксис

public String getUserInput(String prompt){ 
    String inputLine = null; 
    System.out.print(prompt + " "); 
    try(
     BufferedReader is = new BufferedReader(new InputStreamReader(System.in)); 
     inputLine = is.readLine(); 
     if (inputLine.length() == 0) 
      return null; 
     ) 
    catch (IOException e) { 
      System.out.println("IOException: " + e); 
     } 
    return inputLine.toLowerCase(); 
} 

Не скомпилировано.

+1

если есть ошибка с кодом, это полезно, если вы публикуете сообщение об ошибке – LionC

+0

Stackoverflow не является местом для проверки ваших синтаксических ошибок. –

+0

Для дальнейшего использования вы не можете выполнить «список инструкций» в пределах скобок, он должен находиться внутри блока {}. –

ответ

3

Заменить ( и ) заключаете try -блок с { и }

2

проверки Пробный блок скобки, его (), не допускается в Java и зарезервирован для использования блока methods.For {}

Correct ответ

public String getUserInput(String prompt){ 
    String inputLine = null; 
    System.out.print(prompt + " "); 
    try 
    //(this is wrong 
    { 
     BufferedReader is = new BufferedReader(new InputStreamReader(System.in)); 
     inputLine = is.readLine(); 
     if (inputLine.length() == 0) 
      return null; 
     //) 
    } 
    catch (IOException e) { 
      System.out.println("IOException: " + e); 
     } 
return inputLine.toLowerCase(); 
} 
1

Возможно, вы хотите try-with-resource (Java 7+)?

try (BufferedReader is = new BufferedReader(new InputStreamReader(System.in))) { 

    inputLine = is.readLine(); 

    if (inputLine.length() == 0) 
     return null; 

} catch (IOException e) { 
    System.out.println("IOException: " + e); 
} 

Если нет, то напомним, что стандартные try-catch блоки имеют вид:

try { 
    ... 
} catch (...) { 

} 

Обратите внимание на {} скобки.

+1

В качестве примечания (и что-то, что вы можете добавить к своему ответу) ресурс доступен только в Java 7. –

+1

@ChrisForrence Действительно, я добавил его. – arshajii

+0

@arshajii +1 для try с resource.Well просто хотел знать, есть ли какие-либо преимущества использования try с ресурсом по сравнению со старым способом try-catch? –

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