public void buttonClicked(View v) { TextView t = (TextView) findViewById(R.id.text); switch (v.getId()) { case R.id.buttonClear: StringBuffer sb = new StringBuffer(t.getText()); if (sb.length() != 0) { sb.deleteCharAt(sb.length() - 1); t.setText(sb); } break; case R.id.buttonAdd: numbers.add(t.getText().toString()); operators.add("+"); t.setText("0"); break; case R.id.buttonSubtract: numbers.add(t.getText().toString()); operators.add("-"); t.setText("0"); break; case R.id.buttonMultiply: numbers.add(t.getText().toString()); operators.add("*"); t.setText("0"); break; case R.id.buttonDivide: numbers.add(t.getText().toString()); operators.add("/"); t.setText("0"); break; case R.id.buttonEquals: numbers.add(t.getText().toString()); for (String s : numbers) { Log.i("MyActivitty", s); } for (String s : operators) Log.i("MyActivitty", s); double d = Double.parseDouble(numbers.get(0)); for (int i = 0; i < numbers.size() - 1; i++) { switch (operators.get(i)) { case "+": d = Functions.add(d, Double.parseDouble(numbers.get(i + 1))); break; case "-": d = Functions.minus(d, Double.parseDouble(numbers.get(i + 1))); break; case "*": d = Functions.multiply(d, Double.parseDouble(numbers.get(i + 1))); break; case "/": d = Functions.divide(d, Double.parseDouble(numbers.get(i + 1))); break; } } t.setText(Double.toString(d)); clearLists(); } }
public static void main(String[] args) { InputOutput inout = new InputOutput("pol.txt"); p1 = inout.getP1(); p2 = inout.getP2(); Functions function = new Functions(p1, p2); FileWriter fileWriter = null; BufferedWriter bufferedWriter = null; try { fileWriter = new FileWriter("output.txt"); bufferedWriter = new BufferedWriter(fileWriter); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { System.out.println("An error occured."); } String command = inout.getCommands(); while (!command.isEmpty()) { String[] part = command.split(" "); switch (part[0]) { case "ADD": function.add(bufferedWriter); break; case "SUBTRACT": function.subtract(bufferedWriter); break; case "MULTIPLY": function.multiply(bufferedWriter); break; case "MUL_SCAL": function.scalarMultiplication(bufferedWriter, Integer.parseInt(part[1])); break; case "EVAL": function.evaluate(bufferedWriter, Integer.parseInt(part[1])); break; default: System.out.println("Unknown command " + command + "."); break; } command = inout.getCommands(); } }