2015-05-27 10 views
-3

Привет Я получаю эту ошибку на моем Java кодJava ошибка Ошибка синтаксиса на маркер «(»; ожидается UB функция Java

Синтаксис ошибки на маркер «(»; ожидается

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

import java.io.BufferedReader; 
import java.io.File; 
import java.io.FileNotFoundException; 
import java.io.FileReader; 
import java.io.IOException; 
import java.util.Scanner; 

public class HelloWorld { 
     public static void main(String[] args) { 
       String ruta = "C:\\Users\\HernanEi\\Desktop\\contadoresInternet.txt"; 


      File archivo = new File(ruta); 

      String linea = null; 

      try { 
      FileReader lector = new FileReader(archivo); 

      BufferedReader buff = new BufferedReader(lector); 

      while((linea = buff.readLine()) != null) { 
      System.out.println(linea);  
      } 
      buff.close(); 
      lector.close(); 
      } catch(FileNotFoundException ex) { 
      } catch(IOException ex) { 
      } 

      final int countWord(String codigo, File archivo)<-------Error Here 
      { 
       int count = 0; 
       Scanner scanner = new Scanner("C:\\Users\\HernanEi\\Desktop\\contadoresInternet.txt"); 
       while (scanner.hasNextLine()) { 
        String nextToken = scanner.next(); 
        if (nextToken.equalsIgnoreCase(codigo)) 
        count++; 
       } 
       return count; 
       } 
     } 
     } 

Извините, если это что-то очень простое, это все в моем главном классе.

+0

Перед тем, как определить другой, вам необходимо закрыть основной метод. То есть вам не хватает a} перед строкой с ошибкой. –

+0

Спасибо, вы правы –

ответ

1

Переместите } со дна вашего кода до конца основного метода.

import java.io.BufferedReader; 
import java.io.File; 
import java.io.FileNotFoundException; 
import java.io.FileReader; 
import java.io.IOException; 
import java.util.Scanner; 

public class HelloWorld { 
    public static void main(String[] args) { 
    String ruta = "C:\\Users\\HernanEi\\Desktop\\contadoresInternet.txt"; 
    File archivo = new File(ruta); 
    String linea = null; 
    try { 
     FileReader lector = new FileReader(archivo); 
     BufferedReader buff = new BufferedReader(lector); 
     while((linea = buff.readLine()) != null) { 
     System.out.println(linea);  
     } 
     buff.close(); 
     lector.close(); 
    } catch(FileNotFoundException ex) { 
    } catch(IOException ex) { 
    } 
} 

final int countWord(String codigo, File archivo){ 
    int count = 0; 
    Scanner scanner = new Scanner("C:\\Users\\HernanEi\\Desktop\\contadoresInternet.txt"); 
    while (scanner.hasNextLine()) { 
    String nextToken = scanner.next(); 
    if (nextToken.equalsIgnoreCase(codigo)) 
     count++; 
     } 
    return count; 
    } 
} 
+0

Большое спасибо Stefan –

0

Я вновь отформатированный код, так что ошибка становится более очевидной

import java.io.BufferedReader; 
import java.io.File; 
import java.io.FileNotFoundException; 
import java.io.FileReader; 
import java.io.IOException; 
import java.util.Scanner; 

public class HelloWorld { 
    public static void main(String... args) { 
     String ruta = "C:\\Users\\HernanEi\\Desktop\\contadoresInternet.txt"; 

     File archivo = new File(ruta); 

     String linea = null; 

     try { 
      FileReader lector = new FileReader(archivo); 

      BufferedReader buff = new BufferedReader(lector); 

      while ((linea = buff.readLine()) != null) { 
       System.out.println(linea); 
      } 
      buff.close(); 
      lector.close(); 
     } catch (FileNotFoundException ex) { 
     } catch (IOException ex) { 
     } 
    } // Moved this parenthesis up 

    final int countWord(String codigo, File archivo) { // <-------Error Here 
     int count = 0; 

     Scanner scanner 
      = new Scanner("C:\\Users\\HernanEi\\Desktop\\contadoresInternet.txt"); 

     while (scanner.hasNextLine()) { 
      String nextToken = scanner.next(); 
      if (nextToken.equalsIgnoreCase(codigo)) { 
       count++; 
      } 
     } 
     return (count); 
    } 
} 

Некоторые замечания о коде:

  • вы должны смотреть на the try-with-resources.
  • вы обязательно должны написать код с именами английских с переменной/атрибутов
  • даже если можно пренебречь некоторые скобки (т.е. if s только с одной строки кода), вы должны написать их для ясности
+0

Большое спасибо Turing85, я вижу это сейчас, я обязательно буду следовать вашему совету. –

1

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

Что может помочь использовать хороший редактор, который понимает язык. Возможно, вы уже это делаете. Если это так, то тот факт, что ваш редактор разместил первую строку вашего определения countWord на том же уровне, что и тело метода main, - это намек на то, что вы не смогли закрыть его последним.

+0

Спасибо, вы правы –

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