SHARE
TWEET

Untitled

a guest May 26th, 2019 64 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import java.util.Scanner;
  2.  
  3. public class Calculator2 {
  4.     public static double[] operands;
  5.     public static char[] signs;
  6.  
  7.     public static boolean isMathSymbol (char symbol) { // Метод для проверки символа на принадлежность к математическим.
  8.         boolean returner = false;
  9.         if (symbol == '*' || symbol == '/' || symbol == '+' || symbol == '-') returner = true;
  10.                 return returner;
  11.     }
  12.  
  13.     public static void main(String[] args) {
  14.         Scanner reader = new Scanner(System.in);
  15.  
  16.         String input, result = "";
  17.         int counter1, counter2, count = 0, countOfSigns = 0, sign = 0, registrator = 0;
  18.         int[] fixator;
  19.         char collector;
  20.  
  21.         everything: while (true) {
  22.             input = reader.nextLine();
  23.  
  24.             for (counter1 = 0; counter1 < input.length(); counter1++) { // Создаем строку без пробелов.
  25.                 input = input.replaceAll(" ", "");
  26.             }
  27.  
  28.             for (counter1 = 0; counter1 < input.length(); counter1++) {
  29.                 collector = input.charAt(counter1); // Присваевание символом чекеру.
  30.  
  31.                 if (Character.isDigit(collector)|| isMathSymbol(collector) || collector == '.') {
  32.                     if (isMathSymbol(collector)) {
  33.                         countOfSigns++;
  34.                         signs = new char[countOfSigns];
  35.                         signs[countOfSigns-1] = collector;
  36.                     }
  37.                 } else {
  38.                     System.out.println("Ошибка! Вы ввели не число!");
  39.                     break everything;
  40.                 }
  41.             }
  42.  
  43.             for(counter1 = 0; counter1 < input.length(); counter1++) {
  44.                 int adder = -1;
  45.                 collector = input.charAt(counter1);
  46.                 count = counter1;
  47.  
  48.                 if (isMathSymbol(collector)) {
  49.                     fixator = new int[countOfSigns+1];
  50.                     fixator[0] = 0;
  51.                     fixator[registrator+1] = count;
  52.                     registrator++;
  53.                     for(counter2 = fixator[1+adder]; counter2 < count; counter2++) {
  54.                         result += input.charAt(counter2);
  55.                     }
  56.                     operands = new double[countOfSigns+1];
  57.                     operands[sign+1] = Double.parseDouble(result);
  58.                     for(counter1 = 0; counter1 < countOfSigns + 1; counter1++) System.out.println(operands[counter1]);
  59.                 }
  60.             }
  61.             System.out.println(operands[countOfSigns]);
  62.         }
  63.     }
  64. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top