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();
    }
  }
Пример #2
0
 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();
   }
 }