Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package softuni;
- import java.io.BufferedReader;
- import java.io.IOException;
- import java.io.InputStreamReader;
- import java.math.BigDecimal;
- import java.text.DecimalFormat;
- import java.util.Scanner;
- import java.util.logging.Level;
- import java.util.logging.Logger;
- /**
- *
- * @author SYSTEM
- */
- public class SoftUni {
- /**
- * @param args the command line arguments
- */
- public static void main(String[] args) throws IOException {
- Scanner sc = new Scanner(System.in);
- DecimalFormat decFormat = new DecimalFormat("#.##");
- double result = 0;
- int expressionOperator = '+';
- BufferedReader bufferReader = new BufferedReader(new InputStreamReader(System.in));
- int symbol = bufferReader.read();
- while(symbol != '='){
- if(symbol == '('){
- double innerResult = 0;
- int innerOperator = '+';
- symbol = bufferReader.read();
- while(symbol != ')'){
- if(0 <= symbol - '0' && symbol - '0' <= 9){
- switch(innerOperator){
- case '+':
- innerResult += symbol - '0';
- break;
- case '-':
- innerResult -= symbol - '0';
- break;
- case '/':
- innerResult /= symbol - '0';
- break;
- case '*':
- innerResult *= symbol - '0';
- break;
- default:
- System.out.println("something went wrong ://");
- break;
- }
- }
- else if(symbol == '+' || symbol == '-' || symbol == '/' || symbol == '*'){
- innerOperator = symbol;
- }
- symbol = bufferReader.read();
- }
- result += innerResult;
- }
- else if(0 <= symbol - '0' && symbol - '0' <= 9){
- switch(expressionOperator){
- case '+':
- result += symbol - '0';
- break;
- case '-':
- result -= symbol - '0';
- break;
- case '/':
- result /= symbol - '0';
- break;
- case '*':
- result *= symbol - '0';
- break;
- default:
- System.out.println("something went wrong ://");
- break;
- }
- }
- else if(symbol == '+' || symbol == '-' || symbol == '/' || symbol == '*'){
- expressionOperator = symbol;
- }
- symbol = bufferReader.read();
- }
- System.out.println(decFormat.format(result));
- }
- }
Add Comment
Please, Sign In to add comment