2015-04-21 2 views
-1

Я делаю программу калькулятора, и у меня есть все настройки, и она работала раньше, но после того, как я добавил метод, когда я запускаю в режиме отладки, Eclipse говорит У меня есть ошибка в моем основном методе. Я не знаю, почему это не сработает.Я не знаю, почему мой код не будет запущен

Я получаю ошибку: Исключение в потоке "основной" java.lang.Error: Нерешенные проблемы компиляции:

at com.molotuff.main.Calculator.main(Calculator.java:13) 

Вот мой код:

package com.molotuff.main; 

import java.util.ArrayList; 
import java.util.Scanner; 

public class Calculator { 
    private static Scanner reader = new Scanner(System.in); 
    private static boolean running = true; 
    private static boolean calcRunning = true; 
    private static String command; 
    private static ArrayList<Integer> nums = new ArrayList<Integer>(); 

    public static void main(String[] args) { 
     System.out.println("*****************************"); 
     System.out.println("* Welcome to The Calculator *"); 
     System.out.println("*****************************"); 
     menu("help"); 

     while(running) { 
      System.out.println("Enter a command:"); 
      command = reader.nextLine(); 
      menu(command); 
      if(command.equalsIgnoreCase("quit")) { 
       running = false; 
      } 
      if(command.equalsIgnoreCase("add")) { 
       getNums(); 
       int answer = Calculations.sum(nums); 
       System.out.println("The sum is: " + answer); 
      } 
     } 
    } 

    public static void menu(String command) { 
     if(command.equalsIgnoreCase("help")) { 
     System.out.println("Commands: "); 
     System.out.println("Quit"); 
     System.out.println("Help"); 
     System.out.println("Add"); 
     System.out.println("Subtract"); 
     System.out.println("Divide"); 
     System.out.println("Multiply"); 
     System.out.println("Type help [command] for more info on that command"); 
     } 
     if(command.equalsIgnoreCase("help quit")) { 
      System.out.println("Quit: quits the program."); 
     } 
     if(command.equalsIgnoreCase("help help")) { 
      System.out.println("Help: prints the help menu."); 
     } 
     if(command.equalsIgnoreCase("help add")) { 
      System.out.println("Add: takes numbers inputed and adds them together."); 
     } 
     if(command.equalsIgnoreCase("help Subtract")) { 
      System.out.println("Subtract: takes a set of numbers and subtracts  them \n (note: " 
        + "subtracts in this order [first num entered] - [second num entered] " 
        + "etc.)"); 
     } 
     if(command.equalsIgnoreCase("help multiply")) { 
      System.out.println("Add: takes numbers inputed and multiplies them  together."); 
     } 
     if(command.equalsIgnoreCase("help divide")) { 
      System.out.println("Subtract: takes a set of numbers and divides  them \n (note: " 
        + "divides in this order [first num entered]/[second num  entered] " 
        + "etc.)"); 
     } 

    } 
} 

    public static void getNums() { 
     while(calcRunning) { 
      String userInput = reader.nextLine(); 
      int userNums; 
      if(userInput.isEmpty()) { 
       calcRunning = false; 
      } else { 
       userNums = Integer.parseInt(userInput); 
       nums.add(userNums); 
      } 
     } 
    } 
} 
+1

«Eclipse говорит, что у меня ошибка в моем основном методе» - какая ошибка? Это ошибка компилятора? Ошибка выполнения? – copeg

+0

У вас есть дополнительная закрывающая скобка ('}') перед вашим методом getNums. –

+0

Это то, что он говорит мне, что исключение в потоке «главный» java.lang.Error: нерешенная проблема компиляции: \t в com.molotuff.main.Calculator.main (Calculator.java:13) –

ответ

1

Снимите закрывающие скобки } до getNums() метод. Вы закрыли класс после menu() вот почему getNums() не включен в корпус класса, давая вам ошибку.

+0

Спасибо, я не уверен, как я пропустил это, так как я думал, что много раз встречался в скобках. Также странно, что Eclipse не показывал это как ошибку, пока я кодировал. –

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