Что такое ошибка Java: 93: достигается конца файла во время анализа? -- java поле с участием parsing пол Связанный проблема

What is Java Error: 93: Reached end of file while parsing?


0
vote

проблема

русский

Это может быть относительно простым вопросом, но почему моя программа получает эту ошибку: Express.java: 93: Ошибка: достигается до конца файла во время анализа }

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

Вот мой код в случае, если это поможет:

 <код> public class Expression {    private static final String SPACE = " ";    private static final String PLUS = "+";    private static final String MINUS = "-";      public static int rank(String operator) {       switch (operator) {          case "^":       //5             return 3;          case "*":          case "/":             return 2;          case PLUS:          case MINUS:     //2             return 1;          default:             return -1;       }    }     public static boolean isOperator(String token) {     //4       if (rank(token) > 0){          return true;       }       return false;    }     public static int applyOperator(String operator,int op1,int op2){     //7       switch (operator) {          case PLUS:             return op1+op2;          case MINUS:             return op1-op2;          case "*":             return op1*op2;          case "/":             return op1/op2;          default:             return -1;       }    }     public static String toPostfix(String infixExpr) {       StringBuilder output = new StringBuilder();       Stack<String> operators = new ArrayStack<>();       for (String token: infixExpr.split("\s+")) {          if (isOperator(token)) { // operator //4             // pop equal or higher precedence             while (!operators.isEmpty() &&                   rank(operators.peek()) >= rank(token)) {                output.append(operators.pop() + SPACE);             }             operators.push(token);          } else {               // operand             output.append(token + SPACE);          }       }       while (!operators.isEmpty()) {          output.append(operators.pop() + SPACE);       }       return output.toString();    }     public class PostFixTest {     public static int evalPostfix(String infixExpr) {       Stack <String> s = new ArrayStack<String>();       String operand = null;       for(int i = 0; i < infixExpr.length(); i++) {          if (Character.isDigit(infixExpr.charAt(i)))              s.push(infixExpr.charAt(i) + "");          else {              if (s.size() > 1) {                 int value1 = Integer.parseInt(s.pop());                 int value2 = Integer.parseInt(s.pop());                 s.push(applyOperator(infixExpr.charAt(i) + "", value1, value2) + "");              }          }       }       return s.pop();       }    }      public static void main(String[] args) {       System.out.println(rank("/"));       String infix = "a * b * c + d ^ e / f";       System.out.println(toPostfix(infix));       System.out.print("Using applyOperator method, 7 * 3 = ");       System.out.println(applyOperator("*", 3, 7));       System.out.print("Using applyOperator method, 50 + 12 = ");       System.out.println(applyOperator("+", 50, 12));    }    
Английский оригинал

This may be a relatively simple question, but why is my program getting this error:Expression.java:93: error: reached end of file while parsing }

I have tried following multiple guides online, like opening and closing my classes correctly, but unfortunately I still seem to be getting this error.

Here is my code in case this helps:

public class Expression {    private static final String SPACE = " ";    private static final String PLUS = "+";    private static final String MINUS = "-";      public static int rank(String operator) {       switch (operator) {          case "^":       //5             return 3;          case "*":          case "/":             return 2;          case PLUS:          case MINUS:     //2             return 1;          default:             return -1;       }    }     public static boolean isOperator(String token) {     //4       if (rank(token) > 0){          return true;       }       return false;    }     public static int applyOperator(String operator,int op1,int op2){     //7       switch (operator) {          case PLUS:             return op1+op2;          case MINUS:             return op1-op2;          case "*":             return op1*op2;          case "/":             return op1/op2;          default:             return -1;       }    }     public static String toPostfix(String infixExpr) {       StringBuilder output = new StringBuilder();       Stack<String> operators = new ArrayStack<>();       for (String token: infixExpr.split("\s+")) {          if (isOperator(token)) { // operator //4             // pop equal or higher precedence             while (!operators.isEmpty() &&                   rank(operators.peek()) >= rank(token)) {                output.append(operators.pop() + SPACE);             }             operators.push(token);          } else {               // operand             output.append(token + SPACE);          }       }       while (!operators.isEmpty()) {          output.append(operators.pop() + SPACE);       }       return output.toString();    }     public class PostFixTest {     public static int evalPostfix(String infixExpr) {       Stack <String> s = new ArrayStack<String>();       String operand = null;       for(int i = 0; i < infixExpr.length(); i++) {          if (Character.isDigit(infixExpr.charAt(i)))              s.push(infixExpr.charAt(i) + "");          else {              if (s.size() > 1) {                 int value1 = Integer.parseInt(s.pop());                 int value2 = Integer.parseInt(s.pop());                 s.push(applyOperator(infixExpr.charAt(i) + "", value1, value2) + "");              }          }       }       return s.pop();       }    }      public static void main(String[] args) {       System.out.println(rank("/"));       String infix = "a * b * c + d ^ e / f";       System.out.println(toPostfix(infix));       System.out.print("Using applyOperator method, 7 * 3 = ");       System.out.println(applyOperator("*", 3, 7));       System.out.print("Using applyOperator method, 50 + 12 = ");       System.out.println(applyOperator("+", 50, 12));    }  
</div
     
 
 

Список ответов

0
 
vote
vote
Лучший ответ
 

Вы теряете правильно <код> } в последний раз. Как:

 <код> ...    public static void main(String[] args) {       System.out.println(rank("/"));       String infix = "a * b * c + d ^ e / f";       System.out.println(toPostfix(infix));       System.out.print("Using applyOperator method, 7 * 3 = ");       System.out.println(applyOperator("*", 3, 7));       System.out.print("Using applyOperator method, 50 + 12 = ");       System.out.println(applyOperator("+", 50, 12));    }  } // you lost this bracket.   
 

You are losing right } in your code last. like:

...    public static void main(String[] args) {       System.out.println(rank("/"));       String infix = "a * b * c + d ^ e / f";       System.out.println(toPostfix(infix));       System.out.print("Using applyOperator method, 7 * 3 = ");       System.out.println(applyOperator("*", 3, 7));       System.out.print("Using applyOperator method, 50 + 12 = ");       System.out.println(applyOperator("+", 50, 12));    }  } // you lost this bracket. 
</div
 
 

Связанный проблема

0  Как повторять первые столбцы, затем строки для чтения листа Excel в Java  ( How to iterate first columns then rows to read excel sheet in java ) 
Я хочу прочитать лист Excel так что я хочу прочитать мои данные 1-го столбца и повторять все строки, затем 2-й столбец Так как это сделать. Я сначала попроб...

0  Класс libgdx не рисует текстуру  ( Libgdx class does not draw texture ) 
Я пытаюсь нарисовать игровой символ в моем классе "MaigaMestreen.java" из класса "Mavans.java", когда я касаюсь экрана моего телефона. К сожалению, моя прогр...

22  Множественные методы постконструкции?  ( Multiple postconstruct methods ) 
Он говорит в Документация Java для Postconstruct что Только один метод может быть аннотирован с этой аннотацией Но я просто пытался аннотировать три м...

5  Веб-сервисы в Java  ( Web services in java ) 
Что вы обычно используете для подключения к веб-сервису, когда вы разрабатываете проект Java? Есть разные API-S, которые могут сделать работу. Из разных кни...

0  Android Studio Back Button  ( Android studio back button problems ) 
на данный момент. Я создал простое приложение для викторины на Android Studio. Все работает нормально, в том числе, когда я иду от первой фактической жизни. Я...

21  Тип несоответствия для генеральных классов  ( Type mismatch for class generics ) 
У меня есть следующий код, который не скомпировался, и хотя есть способ сделать его компиляцией, я хочу понять, почему он не компилирует. Может ли кто-нибудь ...

1  Реализация интерфейса Realmmodel при расширении другого объекта  ( Implementing realmmodel interface while extending another object ) 
Я хочу использовать новую функцию realm-java, где я могу просто реализовать интерфейс Realmmodel и добавить аннотацию @realmclass для определения таблицы. Все...

87  Регулярное выражение для URL-адресов в Java  ( Regular expression to match urls in java ) 
<Р> Я использую RegexBuddy при работе с регулярными выражениями. Из своей библиотеки я скопировал регулярное выражение для URL-адресов. Я успешно протестирован...

27  Отслеживание запроса XML / Ответы с JAX-WS при возникновении ошибки  ( Tracing xml request responses with jax ws when error occurs ) 
Я хочу войти в систему RAW Post Post, если есть какие-либо ошибки, я использую JAX-WS. Любая помощь будет оценена. Есть просто простым способом (ака: не исп...

154  Любой способ вызвать частный метод?  ( Any way to invoke a private method ) 
У меня есть класс, который использует XML и отражение для возврата <код> Object s на другой класс. Обычно эти объекты являются подпольными полями внешнего ...

3  Eclipse Java Formatter - новая линия до закрытия скобок  ( Eclipse java formatter newline before closing parentheses ) 
Можно ли настроить Dippleter Eclipse Java для вставки новой строки до закрытия скобок выражений, деклараций метода и вызовы методов? Обратите внимание на же...

60  Получение ConcurrentModificationException брошенного при удалении элемента из списка java.util.List во время итерации? [Дубликат]  ( Getting a concurrentmodificationexception thrown when removing an element from a ) 
<в сторону CLASS = "S-NEWACTS S-WELTIVE__info JS-Post-New Imide MB16« Роль = «Статус»> Этот вопрос уже есть ответы здесь : ...

0  Реализация ARP Smooth  ( Implementing arp sweep ) 
Я играю с libpcap / jpcap. Реализация Sweeper ARP. Я отправляю запрос на все IP в блоке до вещательного адреса и чтения ответов. Теперь я не могу думать о том...

0  Почему этот модульный тест говорит, что мой каталог не существует, когда он делает?  ( Why does this unit test say my directory doesnt exist when it does ) 
Этот код <код> URL listofFiles = this.getClass().getResource("someDir"); File f = new File(listofFiles.toString()); File[] files = f.listFiles(); работа...

0  Как удалить нынешние barchart (jfreechart), отображаемый и отображаю новый Barchart в том же представлении плагина Eclipse RCP?  ( How to delete the present barchartjfreechart displayed and display new barchar ) 
Я создаю Barchart с видом на плагин RCP. Данные, которые будут отображаться на графике, поставляется из файла базы данных SQLite3. Код, который я написал, ото...

Связанный проблема

0  Как повторять первые столбцы, затем строки для чтения листа Excel в Java 
0  Класс libgdx не рисует текстуру 
22  Множественные методы постконструкции? 
5  Веб-сервисы в Java 
0  Android Studio Back Button 
21  Тип несоответствия для генеральных классов 
1  Реализация интерфейса Realmmodel при расширении другого объекта 
87  Регулярное выражение для URL-адресов в Java 
27  Отслеживание запроса XML / Ответы с JAX-WS при возникновении ошибки 
154  Любой способ вызвать частный метод? 
3  Eclipse Java Formatter - новая линия до закрытия скобок 
60  Получение ConcurrentModificationException брошенного при удалении элемента из списка java.util.List во время итерации? [Дубликат] 
0  Реализация ARP Smooth 
0  Почему этот модульный тест говорит, что мой каталог не существует, когда он делает? 
0  Как удалить нынешние barchart (jfreechart), отображаемый и отображаю новый Barchart в том же представлении плагина Eclipse RCP?