2015-06-05 3 views
0

Я пытаюсь сделать научный калькулятор в java на веб-сайте browxy.com (и он в бета-версии может быть просто ошибкой), но когда я попытался использовать массив для чисел и операции в уравнениях, это дало мне ошибки, говорящие, что я пропускаю] и; в строке 15, a] и a; на линии 21, a] и a; в строке 27 и a] и a; на линии 33. Любая помощь?Массивы не работают правильно

EDIT: (также: Я еще не сделал.)

import java.util.Scanner; 
public class ScientificCalculator { 
public static void main(String[] args) { 
    System.out.println("Enter an equation.(No spaces)"); 
    Scanner raw = new Scanner(System.in); 
    String input = raw.nextLine(); 
    char[] op; 
    int opNumDefineCounter = 0; 
    int[] nums; 
    int numDefineLocation = 0; 
    for (int i; i > input.length; i = i + 1) { 
     if (input.substring(i, i+1).equals("+")) { 
      op[opNumDefineCounter] = "+"; 
      opNumDefineCounter = opNumDefineCounter + 1; 
      int[opNumDefineCounter] = Integer.parseInt(input.substring(numDefineLocation, i)); 
      numDefineLocation = i+1; 
     } 
     else if (input.substring(i, i+1).equals("-")) { 
      op[opNumDefineCounter] = "-"; 
      opNumDefineCounter = opNumDefineCounter + 1; 
      int[opNumDefineCounter] = Integer.parseInt(input.substring(numDefineLocation, i)); 
      numDefineLocation = i+1; 
     } 
     else if (input.substring(i, i+1).equals("/")) { 
      op[opNumDefineCounter] = "/"; 
      opNumDefineCounter = opNumDefineCounter + 1; 
      int[opNumDefineCounter] = Integer.parseInt(input.substring(numDefineLocation, i)); 
      numDefineLocation = i+1; 
     } 
     else if (input.substring(i, i+1).equals("*")) { 
      op[opNumDefineCounter] = "*"; 
      opNumDefineCounter = opNumDefineCounter + 1; 
      int[opNumDefineCounter] = Integer.parseInt(input.substring(numDefineLocation, i)); 
      numDefineLocation = i+1; 
     } 
     else { 
      //nothing happens 
     } 
    } 

} 

}

+0

Это ошибки синтакса. Пожалуйста, поставьте здесь консоль журнала ошибок, которые она вам дает. –

ответ

1

Я не эксперт Java, но это выглядит не так:

int[opNumDefineCounter] 

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

nums[opNumDefineCounter] 
Смежные вопросы