Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Scanner;
- public class Calculator2 {
- public static double[] operands;
- public static char[] signs;
- public static boolean isMathSymbol (char symbol) { // Метод для проверки символа на принадлежность к математическим.
- boolean returner = false;
- if (symbol == '*' || symbol == '/' || symbol == '+' || symbol == '-') returner = true;
- return returner;
- }
- public static void main(String[] args) {
- Scanner reader = new Scanner(System.in);
- String input, result = "";
- int counter1, counter2, count = 0, countOfSigns = 0, sign = 0, registrator = 0;
- int[] fixator;
- char collector;
- everything: while (true) {
- input = reader.nextLine();
- for (counter1 = 0; counter1 < input.length(); counter1++) { // Создаем строку без пробелов.
- input = input.replaceAll(" ", "");
- }
- for (counter1 = 0; counter1 < input.length(); counter1++) {
- collector = input.charAt(counter1); // Присваевание символом чекеру.
- if (Character.isDigit(collector)|| isMathSymbol(collector) || collector == '.') {
- if (isMathSymbol(collector)) {
- countOfSigns++;
- signs = new char[countOfSigns];
- signs[countOfSigns-1] = collector;
- }
- } else {
- System.out.println("Ошибка! Вы ввели не число!");
- break everything;
- }
- }
- for(counter1 = 0; counter1 < input.length(); counter1++) {
- int adder = -1;
- collector = input.charAt(counter1);
- count = counter1;
- if (isMathSymbol(collector)) {
- fixator = new int[countOfSigns+1];
- fixator[0] = 0;
- fixator[registrator+1] = count;
- registrator++;
- for(counter2 = fixator[1+adder]; counter2 < count; counter2++) {
- result += input.charAt(counter2);
- }
- operands = new double[countOfSigns+1];
- operands[sign+1] = Double.parseDouble(result);
- for(counter1 = 0; counter1 < countOfSigns + 1; counter1++) System.out.println(operands[counter1]);
- }
- }
- System.out.println(operands[countOfSigns]);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement