diff --git a/src/main/java/resources/CalculatorResource.java b/src/main/java/resources/CalculatorResource.java index 5a49624aeac1413b2b627c4feecd0ea6b2ec78df..c77615f9c3b5ee6df06f032e69a5c75117c433f1 100644 --- a/src/main/java/resources/CalculatorResource.java +++ b/src/main/java/resources/CalculatorResource.java @@ -51,25 +51,36 @@ public int calculate(String expression) { public int multiplication(String equation) { String[] split = equation.split("[*]"); - int sum = 0; - for (int i = 0; i < split.length; i++) { - sum *= Integer.parseInt(split[i]); + int sum = Integer.parseInt(split[0]); + try{ + for (int i = 1; i < split.length; i++) { + if(!(split[i]).equals("0")) { + sum *= Integer.parseInt(split[i]); + }else throw new IllegalArgumentException(" Number can't be zero"); } - return sum; + return sum; + }catch(IllegalArgumentException e){ + e.printStackTrace(); + }return -1; + } public int division(String equation){ String[] split = equation.split("[/]"); try{ - int sum = 0; - for (int i = 0; i < split.length; i++) { - sum = Integer.parseInt(split[i]); + int sum = Integer.parseInt(split[0]); + for (int i = 1; i < split.length; i++) { + if(!(split[i]).equals("0")){ + sum = Integer.parseInt(split[i]); + }else throw new IllegalArgumentException("Number can't be zero"); + } return sum; - }catch (DivisionByZeroExceptionStub e){ - } + }catch (IllegalArgumentException e){ + e.printStackTrace(); + }return -1; }