From 937ad7e70937ccdc2072c1a2143170603914e82e Mon Sep 17 00:00:00 2001 From: nadezhdazueva Date: Mon, 17 Oct 2016 22:19:33 +0300 Subject: [PATCH 1/9] Add files via upload --- Calculator.java | 201 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 201 insertions(+) create mode 100644 Calculator.java diff --git a/Calculator.java b/Calculator.java new file mode 100644 index 000000000..4bfee1bc9 --- /dev/null +++ b/Calculator.java @@ -0,0 +1,201 @@ +package my_calc; + +/** + * Created by Nadya Zueva + * при написании использована статья на e-maxx + */ + +import java.io.BufferedReader; +import java.io.InputStreamReader; +import java.util.ArrayDeque; +import java.util.Deque; +import java.util.StringTokenizer; +import java.util.*; +import java.io.*; +import java.util.Iterator; + +public interface Calculator { + public static void main(String[] args) throws Exception { + System.out.println("Enter string:\n"); + BufferedReader read = new BufferedReader(new InputStreamReader(System.in)); + String string; + + try { + string = read.readLine(); + string = to_polish(string); + // System.out.println(string); + System.out.println(count(string)); + } catch (Exception error) { + System.out.println(error.getMessage()); + } + } + + public static float count(String s) throws Exception { + String buffer; + float num_1 = 0; + float num_2 = 0; + + //Stack stack = new ArrayStack(); + Deque stack = new ArrayDeque(); + StringTokenizer tok = new StringTokenizer(s); + while (tok.hasMoreTokens()) { + try { + buffer = tok.nextToken().trim(); + if (oper(buffer.charAt(0))&& buffer.length() == 1) { + num_1 = stack.pop(); num_2 = stack.pop(); + switch (buffer.charAt(0)) { + case '+': { + num_2 = num_2 + num_1; + break; + } + case '-': { + num_2 = num_2 - num_1; + break; + } + case '*': { + num_2 = num_2 * num_1; + break; + } + case '/': { + num_2 = (Float)num_2 / num_1; + break; + } + + default: + throw new Exception("\nIndefinite operator\n"); + } + stack.push(num_2); + } else { + num_2 = Float.parseFloat(buffer); + stack.push(num_2); + } + } catch (Exception error) { + throw new Exception("\nIndefinite symbol\n"); + } + } + + + return stack.pop(); + } + + + //является ли символ оператором + public static boolean oper(char a) { + if (a == '+' || a == '-' || a == '*' || a == '/') { + return true; + } else { + return false; + } + } + + /*является ли символ скобкой + public static boolean brack(char a) { + if (a == '(' || a == ')') { + return true; + } + else { + return false; + } + }*/ +//является ли числом + /* public static boolean numb(char a) { + switch (a) { + case '0': { + return true; + } + case '1': { + return true; + } + case '2': { + return true; + } + case '3': { + return true; + } + case '4': { + return true; + } + case '5': { + return true; + } + case '6': { + return true; + } + case '7': { + return true; + } + case '8': { + return true; + } + case '9': { + return true; + } + } + return false; + }*/ + + //приоритет операции + public static short priority(char a) { + switch (a) { + case '*': + return 2; + case '/': + return 2; + case '+': + return 1; + case '-': + return 1; + default: + return -1; + } + } + + public static String to_polish(String input_string) throws Exception { + + char c; + char t; + StringBuilder buffer = new StringBuilder(""); + StringBuilder output = new StringBuilder(""); + + for (int i = 0; i < input_string.length(); ++i) { + c = input_string.charAt(i); + if (oper(c)) { + // System.out.println("@"); + while (buffer.length() > 0) { + t = buffer.substring(buffer.length() - 1).charAt(0); + if (oper(t) && (priority(c) <= priority(t))) { + output.append(" ").append(t).append(" "); + buffer.setLength(buffer.length() - 1); + } else { + output.append(" "); + break; + } + } + output.append(" "); + buffer.append(c); + } else if ('(' == c) { + buffer.append(c); + } else if (')' == c) { + t = buffer.substring(buffer.length() - 1).charAt(0); + while ('(' != t) { + // System.out.println("&"); + output.append(" ").append(t); + buffer.setLength(buffer.length() - 1); + t = buffer.substring(buffer.length() - 1).charAt(0); + } + buffer.setLength(buffer.length() - 1); + } else { + + output.append(c); + } + } + + while (buffer.length() > 0) { + output.append(" ").append(buffer.substring(buffer.length() - 1)); + buffer.setLength(buffer.length() - 1); + } + + return output.toString(); + } +} + From 1538f2842e45de76d10aaec38a4fe8f4c667acab Mon Sep 17 00:00:00 2001 From: Nadezda Zueva Date: Mon, 24 Oct 2016 01:45:59 +0300 Subject: [PATCH 2/9] c --- Calculator.java | 2 +- homework-g595-zueva/pom.xml | 28 +++ .../g595/zueva/task1/AzazaCalculator.java | 169 ++++++++++++++++++ .../g595/zueva/task1/AzazaCalculatorTest.java | 11 ++ pom.xml | 1 + 5 files changed, 210 insertions(+), 1 deletion(-) create mode 100644 homework-g595-zueva/pom.xml create mode 100644 homework-g595-zueva/src/main/java/ru/mipt/java2016/g595/zueva/task1/AzazaCalculator.java create mode 100644 homework-g595-zueva/src/test/java/ru/mipt/java2016/g595/zueva/task1/AzazaCalculatorTest.java diff --git a/Calculator.java b/Calculator.java index 4bfee1bc9..c31501dbd 100644 --- a/Calculator.java +++ b/Calculator.java @@ -30,7 +30,7 @@ public static void main(String[] args) throws Exception { } } - public static float count(String s) throws Exception { + public static float calculate(String s) throws Parsing Exception { String buffer; float num_1 = 0; float num_2 = 0; diff --git a/homework-g595-zueva/pom.xml b/homework-g595-zueva/pom.xml new file mode 100644 index 000000000..1b4a8b250 --- /dev/null +++ b/homework-g595-zueva/pom.xml @@ -0,0 +1,28 @@ + + + + mipt-java-2016 + ru.mipt.java2016 + 1.0.0 + + 4.0.0 + + homework-g595-zueva + + + ru.mipt.java2016 + homework-base + 1.0.0 + + + ru.mipt.java2016 + homework-tests + 1.0.0 + test + + + + + \ No newline at end of file diff --git a/homework-g595-zueva/src/main/java/ru/mipt/java2016/g595/zueva/task1/AzazaCalculator.java b/homework-g595-zueva/src/main/java/ru/mipt/java2016/g595/zueva/task1/AzazaCalculator.java new file mode 100644 index 000000000..3320027a5 --- /dev/null +++ b/homework-g595-zueva/src/main/java/ru/mipt/java2016/g595/zueva/task1/AzazaCalculator.java @@ -0,0 +1,169 @@ +package ru.mipt.java2016.g595.zueva.task1; + +import ru.mipt.java2016.homework.base.task1.Calculator; +import ru.mipt.java2016.homework.base.task1.ParsingException; + +import java.util.ArrayDeque; +import java.util.Deque; +import java.util.StringTokenizer; + +class AzazaCalculator implements Calculator { + + static final AzazaCalculator INSTANCE = new AzazaCalculator(); + + @Override + public double calculate(String s) throws ParsingException { + if (s == null) { + throw new ParsingException("null"); + } + if (s == ""){ + throw new ParsingException("empty string"); + } + if (s == " "){ + throw new ParsingException("empty string"); + } + for(int i = 1; i < s.length() - 1; ++i){ + if(s.charAt(i) == ' ' || s.charAt(i) == '\n' || s.charAt(i) == '\t'){ + s = s.substring(0, i - 1) + s.substring(i + 1, s.length() - 1); + } + } + if(s.charAt(0) == ' ' || s.charAt(0) == '\n' || s.charAt(0) == '\t'){ + s = s.substring(1,s.length() - 1); + } + if(s.charAt(s.length() - 1) == ' ' || s.charAt(s.length() - 1) == '\n' || s.charAt(s.length() - 1) == '\t'){ + s = s.substring(0, s.length() - 2); + } + for(int i = 0; i < s.length(); ++i) { + if(!(s.charAt(i) == '+' || s.charAt(i) == '-' || s.charAt(i) == '*' ||s.charAt(i) == '/' || s.charAt(i) == '(' + ||s.charAt(i) == ')'||s.charAt(i) == '.'||s.charAt(i) == '1' || s.charAt(i) == '2' || s.charAt(i) == '0' || + s.charAt(i) == '3' || s.charAt(i) == '4' || s.charAt(i) == '5' || s.charAt(i) == '6' || s.charAt(i) == '7' || + s.charAt(i) == '8' || s.charAt(i) == '9')){ + throw new ParsingException("Bad symbol"); + } + } + for(int i = 0; i < s.length() - 1; ++i){ + if(s.charAt(i) == '/' && s.charAt(i + 1) == '0') { + return Double.POSITIVE_INFINITY; + } + } + for(int i =0; i < s.length() - 2; ++i) { + if(s.charAt(i) == '/' && s.charAt(i + 2) == '0' && s.charAt(i + 1) == '-') { + return Double.NEGATIVE_INFINITY; + } + } + s = to_polish(s); + String buffer; + double num_1 = 0; + double num_2 = 0; + Deque stack = new ArrayDeque<>(); + StringTokenizer tok = new StringTokenizer(s); + while (tok.hasMoreTokens()) try { + buffer = tok.nextToken().trim(); + if (oper(buffer.charAt(0)) && buffer.length() == 1) { + num_1 = stack.pop(); + num_2 = stack.pop(); + switch (buffer.charAt(0)) { + case '+': { + num_2 = num_2 + num_1; + break; + } + case '-': { + num_2 = num_2 - num_1; + break; + } + case '*': { + num_2 = num_2 * num_1; + break; + } + case '/': { + num_2 = num_2 / num_1; + break; + } + + default: + throw new Exception("\nIndefinite operator\n"); + } + stack.push(num_2); + } else { + num_2 = Float.parseFloat(buffer); + stack.push(num_2); + } + } catch (Exception error) { + throw new ParsingException("\nIndefinite symbol\n"); + } + + + return stack.pop(); + } + + public static boolean oper(char a) { + if (a == '+' || a == '-' || a == '*' || a == '/') { + return true; + } else { + return false; + } + } + public static short priority(char a) { + switch (a) { + case '*': + return 2; + case '/': + return 2; + case '+': + return 1; + case '-': + return 1; + default: + return -1; + } + } + + public static String to_polish(String input_string) { + + char c; + char t; + StringBuilder buffer = new StringBuilder(""); + StringBuilder output = new StringBuilder(""); + + for (int i = 0; i < input_string.length(); ++i) { + c = input_string.charAt(i); + if (oper(c)) { + // System.out.println("@"); + while (buffer.length() > 0) { + t = buffer.substring(buffer.length() - 1).charAt(0); + if (oper(t) && (priority(c) <= priority(t))) { + output.append(" ").append(t).append(" "); + buffer.setLength(buffer.length() - 1); + } else { + output.append(" "); + break; + } + } + output.append(" "); + buffer.append(c); + } else if ('(' == c) { + buffer.append(c); + } else if (')' == c) { + t = buffer.substring(buffer.length() - 1).charAt(0); + while ('(' != t) { + // System.out.println("&"); + output.append(" ").append(t); + buffer.setLength(buffer.length() - 1); + t = buffer.substring(buffer.length() - 1).charAt(0); + } + buffer.setLength(buffer.length() - 1); + } else { + + output.append(c); + } + } + + while (buffer.length() > 0) { + output.append(" ").append(buffer.substring(buffer.length() - 1)); + buffer.setLength(buffer.length() - 1); + } + + return output.toString(); + } +} + diff --git a/homework-g595-zueva/src/test/java/ru/mipt/java2016/g595/zueva/task1/AzazaCalculatorTest.java b/homework-g595-zueva/src/test/java/ru/mipt/java2016/g595/zueva/task1/AzazaCalculatorTest.java new file mode 100644 index 000000000..d0fec2ee9 --- /dev/null +++ b/homework-g595-zueva/src/test/java/ru/mipt/java2016/g595/zueva/task1/AzazaCalculatorTest.java @@ -0,0 +1,11 @@ +package ru.mipt.java2016.g595.zueva.task1; + + +import ru.mipt.java2016.homework.tests.task1.AbstractCalculatorTest; + +public class AzazaCalculatorTest extends AbstractCalculatorTest { + @Override + public AzazaCalculator calc() { + return AzazaCalculator.INSTANCE; + } +} diff --git a/pom.xml b/pom.xml index 53c260551..30e70c2d4 100644 --- a/pom.xml +++ b/pom.xml @@ -71,6 +71,7 @@ homework-g597-grishutin homework-g595-tkachenko homework-g597-miller + homework-g595-zueva From 4ac11626889781b8410cd315f093335f2367727a Mon Sep 17 00:00:00 2001 From: Nadezda Zueva Date: Mon, 24 Oct 2016 15:53:36 +0300 Subject: [PATCH 3/9] new commit --- .../ru/mipt/java2016/g595/zueva/task1/AzazaCalculator.java | 6 ++++-- .../homework/tests/task1/AbstractCalculatorTest.java | 4 ---- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/homework-g595-zueva/src/main/java/ru/mipt/java2016/g595/zueva/task1/AzazaCalculator.java b/homework-g595-zueva/src/main/java/ru/mipt/java2016/g595/zueva/task1/AzazaCalculator.java index 3320027a5..e20b3293f 100644 --- a/homework-g595-zueva/src/main/java/ru/mipt/java2016/g595/zueva/task1/AzazaCalculator.java +++ b/homework-g595-zueva/src/main/java/ru/mipt/java2016/g595/zueva/task1/AzazaCalculator.java @@ -13,7 +13,7 @@ class AzazaCalculator implements Calculator { @Override public double calculate(String s) throws ParsingException { - if (s == null) { + /*if (s == null) { throw new ParsingException("null"); } if (s == ""){ @@ -50,7 +50,7 @@ public double calculate(String s) throws ParsingException { if(s.charAt(i) == '/' && s.charAt(i + 2) == '0' && s.charAt(i + 1) == '-') { return Double.NEGATIVE_INFINITY; } - } + }*/ s = to_polish(s); String buffer; double num_1 = 0; @@ -60,6 +60,7 @@ public double calculate(String s) throws ParsingException { while (tok.hasMoreTokens()) try { buffer = tok.nextToken().trim(); if (oper(buffer.charAt(0)) && buffer.length() == 1) { + System.out.println(buffer.charAt(0)); num_1 = stack.pop(); num_2 = stack.pop(); switch (buffer.charAt(0)) { @@ -90,6 +91,7 @@ public double calculate(String s) throws ParsingException { } } catch (Exception error) { throw new ParsingException("\nIndefinite symbol\n"); + } diff --git a/homework-tests/src/main/java/ru/mipt/java2016/homework/tests/task1/AbstractCalculatorTest.java b/homework-tests/src/main/java/ru/mipt/java2016/homework/tests/task1/AbstractCalculatorTest.java index 6d06e3186..b27d7c5c0 100644 --- a/homework-tests/src/main/java/ru/mipt/java2016/homework/tests/task1/AbstractCalculatorTest.java +++ b/homework-tests/src/main/java/ru/mipt/java2016/homework/tests/task1/AbstractCalculatorTest.java @@ -155,8 +155,4 @@ public void testUnaryMultiply() throws ParsingException { public void testBadNumber() throws ParsingException { tryFail("1.2.3"); } -/*<<<<<<< HEAD -======= - ->>>>>>> upstream/master*/ } \ No newline at end of file From 0c0b58e789afe2973d72bdf2979111914540204e Mon Sep 17 00:00:00 2001 From: nadezhdazueva Date: Mon, 17 Oct 2016 22:19:33 +0300 Subject: [PATCH 4/9] Add files via upload --- Calculator.java | 201 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 201 insertions(+) create mode 100644 Calculator.java diff --git a/Calculator.java b/Calculator.java new file mode 100644 index 000000000..4bfee1bc9 --- /dev/null +++ b/Calculator.java @@ -0,0 +1,201 @@ +package my_calc; + +/** + * Created by Nadya Zueva + * при написании использована статья на e-maxx + */ + +import java.io.BufferedReader; +import java.io.InputStreamReader; +import java.util.ArrayDeque; +import java.util.Deque; +import java.util.StringTokenizer; +import java.util.*; +import java.io.*; +import java.util.Iterator; + +public interface Calculator { + public static void main(String[] args) throws Exception { + System.out.println("Enter string:\n"); + BufferedReader read = new BufferedReader(new InputStreamReader(System.in)); + String string; + + try { + string = read.readLine(); + string = to_polish(string); + // System.out.println(string); + System.out.println(count(string)); + } catch (Exception error) { + System.out.println(error.getMessage()); + } + } + + public static float count(String s) throws Exception { + String buffer; + float num_1 = 0; + float num_2 = 0; + + //Stack stack = new ArrayStack(); + Deque stack = new ArrayDeque(); + StringTokenizer tok = new StringTokenizer(s); + while (tok.hasMoreTokens()) { + try { + buffer = tok.nextToken().trim(); + if (oper(buffer.charAt(0))&& buffer.length() == 1) { + num_1 = stack.pop(); num_2 = stack.pop(); + switch (buffer.charAt(0)) { + case '+': { + num_2 = num_2 + num_1; + break; + } + case '-': { + num_2 = num_2 - num_1; + break; + } + case '*': { + num_2 = num_2 * num_1; + break; + } + case '/': { + num_2 = (Float)num_2 / num_1; + break; + } + + default: + throw new Exception("\nIndefinite operator\n"); + } + stack.push(num_2); + } else { + num_2 = Float.parseFloat(buffer); + stack.push(num_2); + } + } catch (Exception error) { + throw new Exception("\nIndefinite symbol\n"); + } + } + + + return stack.pop(); + } + + + //является ли символ оператором + public static boolean oper(char a) { + if (a == '+' || a == '-' || a == '*' || a == '/') { + return true; + } else { + return false; + } + } + + /*является ли символ скобкой + public static boolean brack(char a) { + if (a == '(' || a == ')') { + return true; + } + else { + return false; + } + }*/ +//является ли числом + /* public static boolean numb(char a) { + switch (a) { + case '0': { + return true; + } + case '1': { + return true; + } + case '2': { + return true; + } + case '3': { + return true; + } + case '4': { + return true; + } + case '5': { + return true; + } + case '6': { + return true; + } + case '7': { + return true; + } + case '8': { + return true; + } + case '9': { + return true; + } + } + return false; + }*/ + + //приоритет операции + public static short priority(char a) { + switch (a) { + case '*': + return 2; + case '/': + return 2; + case '+': + return 1; + case '-': + return 1; + default: + return -1; + } + } + + public static String to_polish(String input_string) throws Exception { + + char c; + char t; + StringBuilder buffer = new StringBuilder(""); + StringBuilder output = new StringBuilder(""); + + for (int i = 0; i < input_string.length(); ++i) { + c = input_string.charAt(i); + if (oper(c)) { + // System.out.println("@"); + while (buffer.length() > 0) { + t = buffer.substring(buffer.length() - 1).charAt(0); + if (oper(t) && (priority(c) <= priority(t))) { + output.append(" ").append(t).append(" "); + buffer.setLength(buffer.length() - 1); + } else { + output.append(" "); + break; + } + } + output.append(" "); + buffer.append(c); + } else if ('(' == c) { + buffer.append(c); + } else if (')' == c) { + t = buffer.substring(buffer.length() - 1).charAt(0); + while ('(' != t) { + // System.out.println("&"); + output.append(" ").append(t); + buffer.setLength(buffer.length() - 1); + t = buffer.substring(buffer.length() - 1).charAt(0); + } + buffer.setLength(buffer.length() - 1); + } else { + + output.append(c); + } + } + + while (buffer.length() > 0) { + output.append(" ").append(buffer.substring(buffer.length() - 1)); + buffer.setLength(buffer.length() - 1); + } + + return output.toString(); + } +} + From 777745d0c0544a719a1d7a0444419d8b2fb2000e Mon Sep 17 00:00:00 2001 From: Nadezda Zueva Date: Mon, 24 Oct 2016 01:45:59 +0300 Subject: [PATCH 5/9] c --- Calculator.java | 2 +- homework-g595-zueva/pom.xml | 28 +++ .../g595/zueva/task1/AzazaCalculator.java | 169 ++++++++++++++++++ .../g595/zueva/task1/AzazaCalculatorTest.java | 11 ++ pom.xml | 2 +- 5 files changed, 210 insertions(+), 2 deletions(-) create mode 100644 homework-g595-zueva/pom.xml create mode 100644 homework-g595-zueva/src/main/java/ru/mipt/java2016/g595/zueva/task1/AzazaCalculator.java create mode 100644 homework-g595-zueva/src/test/java/ru/mipt/java2016/g595/zueva/task1/AzazaCalculatorTest.java diff --git a/Calculator.java b/Calculator.java index 4bfee1bc9..c31501dbd 100644 --- a/Calculator.java +++ b/Calculator.java @@ -30,7 +30,7 @@ public static void main(String[] args) throws Exception { } } - public static float count(String s) throws Exception { + public static float calculate(String s) throws Parsing Exception { String buffer; float num_1 = 0; float num_2 = 0; diff --git a/homework-g595-zueva/pom.xml b/homework-g595-zueva/pom.xml new file mode 100644 index 000000000..1b4a8b250 --- /dev/null +++ b/homework-g595-zueva/pom.xml @@ -0,0 +1,28 @@ + + + + mipt-java-2016 + ru.mipt.java2016 + 1.0.0 + + 4.0.0 + + homework-g595-zueva + + + ru.mipt.java2016 + homework-base + 1.0.0 + + + ru.mipt.java2016 + homework-tests + 1.0.0 + test + + + + + \ No newline at end of file diff --git a/homework-g595-zueva/src/main/java/ru/mipt/java2016/g595/zueva/task1/AzazaCalculator.java b/homework-g595-zueva/src/main/java/ru/mipt/java2016/g595/zueva/task1/AzazaCalculator.java new file mode 100644 index 000000000..3320027a5 --- /dev/null +++ b/homework-g595-zueva/src/main/java/ru/mipt/java2016/g595/zueva/task1/AzazaCalculator.java @@ -0,0 +1,169 @@ +package ru.mipt.java2016.g595.zueva.task1; + +import ru.mipt.java2016.homework.base.task1.Calculator; +import ru.mipt.java2016.homework.base.task1.ParsingException; + +import java.util.ArrayDeque; +import java.util.Deque; +import java.util.StringTokenizer; + +class AzazaCalculator implements Calculator { + + static final AzazaCalculator INSTANCE = new AzazaCalculator(); + + @Override + public double calculate(String s) throws ParsingException { + if (s == null) { + throw new ParsingException("null"); + } + if (s == ""){ + throw new ParsingException("empty string"); + } + if (s == " "){ + throw new ParsingException("empty string"); + } + for(int i = 1; i < s.length() - 1; ++i){ + if(s.charAt(i) == ' ' || s.charAt(i) == '\n' || s.charAt(i) == '\t'){ + s = s.substring(0, i - 1) + s.substring(i + 1, s.length() - 1); + } + } + if(s.charAt(0) == ' ' || s.charAt(0) == '\n' || s.charAt(0) == '\t'){ + s = s.substring(1,s.length() - 1); + } + if(s.charAt(s.length() - 1) == ' ' || s.charAt(s.length() - 1) == '\n' || s.charAt(s.length() - 1) == '\t'){ + s = s.substring(0, s.length() - 2); + } + for(int i = 0; i < s.length(); ++i) { + if(!(s.charAt(i) == '+' || s.charAt(i) == '-' || s.charAt(i) == '*' ||s.charAt(i) == '/' || s.charAt(i) == '(' + ||s.charAt(i) == ')'||s.charAt(i) == '.'||s.charAt(i) == '1' || s.charAt(i) == '2' || s.charAt(i) == '0' || + s.charAt(i) == '3' || s.charAt(i) == '4' || s.charAt(i) == '5' || s.charAt(i) == '6' || s.charAt(i) == '7' || + s.charAt(i) == '8' || s.charAt(i) == '9')){ + throw new ParsingException("Bad symbol"); + } + } + for(int i = 0; i < s.length() - 1; ++i){ + if(s.charAt(i) == '/' && s.charAt(i + 1) == '0') { + return Double.POSITIVE_INFINITY; + } + } + for(int i =0; i < s.length() - 2; ++i) { + if(s.charAt(i) == '/' && s.charAt(i + 2) == '0' && s.charAt(i + 1) == '-') { + return Double.NEGATIVE_INFINITY; + } + } + s = to_polish(s); + String buffer; + double num_1 = 0; + double num_2 = 0; + Deque stack = new ArrayDeque<>(); + StringTokenizer tok = new StringTokenizer(s); + while (tok.hasMoreTokens()) try { + buffer = tok.nextToken().trim(); + if (oper(buffer.charAt(0)) && buffer.length() == 1) { + num_1 = stack.pop(); + num_2 = stack.pop(); + switch (buffer.charAt(0)) { + case '+': { + num_2 = num_2 + num_1; + break; + } + case '-': { + num_2 = num_2 - num_1; + break; + } + case '*': { + num_2 = num_2 * num_1; + break; + } + case '/': { + num_2 = num_2 / num_1; + break; + } + + default: + throw new Exception("\nIndefinite operator\n"); + } + stack.push(num_2); + } else { + num_2 = Float.parseFloat(buffer); + stack.push(num_2); + } + } catch (Exception error) { + throw new ParsingException("\nIndefinite symbol\n"); + } + + + return stack.pop(); + } + + public static boolean oper(char a) { + if (a == '+' || a == '-' || a == '*' || a == '/') { + return true; + } else { + return false; + } + } + public static short priority(char a) { + switch (a) { + case '*': + return 2; + case '/': + return 2; + case '+': + return 1; + case '-': + return 1; + default: + return -1; + } + } + + public static String to_polish(String input_string) { + + char c; + char t; + StringBuilder buffer = new StringBuilder(""); + StringBuilder output = new StringBuilder(""); + + for (int i = 0; i < input_string.length(); ++i) { + c = input_string.charAt(i); + if (oper(c)) { + // System.out.println("@"); + while (buffer.length() > 0) { + t = buffer.substring(buffer.length() - 1).charAt(0); + if (oper(t) && (priority(c) <= priority(t))) { + output.append(" ").append(t).append(" "); + buffer.setLength(buffer.length() - 1); + } else { + output.append(" "); + break; + } + } + output.append(" "); + buffer.append(c); + } else if ('(' == c) { + buffer.append(c); + } else if (')' == c) { + t = buffer.substring(buffer.length() - 1).charAt(0); + while ('(' != t) { + // System.out.println("&"); + output.append(" ").append(t); + buffer.setLength(buffer.length() - 1); + t = buffer.substring(buffer.length() - 1).charAt(0); + } + buffer.setLength(buffer.length() - 1); + } else { + + output.append(c); + } + } + + while (buffer.length() > 0) { + output.append(" ").append(buffer.substring(buffer.length() - 1)); + buffer.setLength(buffer.length() - 1); + } + + return output.toString(); + } +} + diff --git a/homework-g595-zueva/src/test/java/ru/mipt/java2016/g595/zueva/task1/AzazaCalculatorTest.java b/homework-g595-zueva/src/test/java/ru/mipt/java2016/g595/zueva/task1/AzazaCalculatorTest.java new file mode 100644 index 000000000..d0fec2ee9 --- /dev/null +++ b/homework-g595-zueva/src/test/java/ru/mipt/java2016/g595/zueva/task1/AzazaCalculatorTest.java @@ -0,0 +1,11 @@ +package ru.mipt.java2016.g595.zueva.task1; + + +import ru.mipt.java2016.homework.tests.task1.AbstractCalculatorTest; + +public class AzazaCalculatorTest extends AbstractCalculatorTest { + @Override + public AzazaCalculator calc() { + return AzazaCalculator.INSTANCE; + } +} diff --git a/pom.xml b/pom.xml index 0b1bce4c9..7edd760f7 100644 --- a/pom.xml +++ b/pom.xml @@ -23,11 +23,11 @@ homework-g596-proskurina homework-g000-lavrentyev homework-g594-borodin + homework-g594-shevkunov homework-g597-vasilyev homework-g594-stepanov homework-g599a-kazakova homework-g597-markov - homework-g594-shevkunov homework-g595-kireev homework-g595-novikov homework-g597-mashurin From 846d52be7be9c885c22b1464a0c0800db353c851 Mon Sep 17 00:00:00 2001 From: Nadezda Zueva Date: Mon, 24 Oct 2016 15:53:36 +0300 Subject: [PATCH 6/9] new commit --- .../ru/mipt/java2016/g595/zueva/task1/AzazaCalculator.java | 6 ++++-- .../homework/tests/task1/AbstractCalculatorTest.java | 4 ---- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/homework-g595-zueva/src/main/java/ru/mipt/java2016/g595/zueva/task1/AzazaCalculator.java b/homework-g595-zueva/src/main/java/ru/mipt/java2016/g595/zueva/task1/AzazaCalculator.java index 3320027a5..e20b3293f 100644 --- a/homework-g595-zueva/src/main/java/ru/mipt/java2016/g595/zueva/task1/AzazaCalculator.java +++ b/homework-g595-zueva/src/main/java/ru/mipt/java2016/g595/zueva/task1/AzazaCalculator.java @@ -13,7 +13,7 @@ class AzazaCalculator implements Calculator { @Override public double calculate(String s) throws ParsingException { - if (s == null) { + /*if (s == null) { throw new ParsingException("null"); } if (s == ""){ @@ -50,7 +50,7 @@ public double calculate(String s) throws ParsingException { if(s.charAt(i) == '/' && s.charAt(i + 2) == '0' && s.charAt(i + 1) == '-') { return Double.NEGATIVE_INFINITY; } - } + }*/ s = to_polish(s); String buffer; double num_1 = 0; @@ -60,6 +60,7 @@ public double calculate(String s) throws ParsingException { while (tok.hasMoreTokens()) try { buffer = tok.nextToken().trim(); if (oper(buffer.charAt(0)) && buffer.length() == 1) { + System.out.println(buffer.charAt(0)); num_1 = stack.pop(); num_2 = stack.pop(); switch (buffer.charAt(0)) { @@ -90,6 +91,7 @@ public double calculate(String s) throws ParsingException { } } catch (Exception error) { throw new ParsingException("\nIndefinite symbol\n"); + } diff --git a/homework-tests/src/main/java/ru/mipt/java2016/homework/tests/task1/AbstractCalculatorTest.java b/homework-tests/src/main/java/ru/mipt/java2016/homework/tests/task1/AbstractCalculatorTest.java index 6d06e3186..b27d7c5c0 100644 --- a/homework-tests/src/main/java/ru/mipt/java2016/homework/tests/task1/AbstractCalculatorTest.java +++ b/homework-tests/src/main/java/ru/mipt/java2016/homework/tests/task1/AbstractCalculatorTest.java @@ -155,8 +155,4 @@ public void testUnaryMultiply() throws ParsingException { public void testBadNumber() throws ParsingException { tryFail("1.2.3"); } -/*<<<<<<< HEAD -======= - ->>>>>>> upstream/master*/ } \ No newline at end of file From c5e4da6aa65fe950e00709a7cab4b54807369c42 Mon Sep 17 00:00:00 2001 From: Nadezda Zueva Date: Mon, 31 Oct 2016 20:08:18 +0300 Subject: [PATCH 7/9] Add solved task 2 --- homework-g595-zueva/pom.xml | 1 - .../g595/zueva/task2/task2/My_KV_Storage.java | 123 ++++++++++++++++++ .../g595/zueva/task2/task2/Serializer1.java | 15 +++ .../task2/task2/Specified_serializers.java | 79 +++++++++++ .../g595/zueva/task2/My_KV_StorageTest.java | 55 ++++++++ 5 files changed, 272 insertions(+), 1 deletion(-) create mode 100644 homework-g595-zueva/src/main/java/ru/mipt/java2016/homework/g595/zueva/task2/task2/My_KV_Storage.java create mode 100644 homework-g595-zueva/src/main/java/ru/mipt/java2016/homework/g595/zueva/task2/task2/Serializer1.java create mode 100644 homework-g595-zueva/src/main/java/ru/mipt/java2016/homework/g595/zueva/task2/task2/Specified_serializers.java create mode 100644 homework-g595-zueva/src/test/java/ru/mipt/java2016/homework/g595/zueva/task2/My_KV_StorageTest.java diff --git a/homework-g595-zueva/pom.xml b/homework-g595-zueva/pom.xml index 1b4a8b250..ee669b0d6 100644 --- a/homework-g595-zueva/pom.xml +++ b/homework-g595-zueva/pom.xml @@ -20,7 +20,6 @@ ru.mipt.java2016 homework-tests 1.0.0 - test diff --git a/homework-g595-zueva/src/main/java/ru/mipt/java2016/homework/g595/zueva/task2/task2/My_KV_Storage.java b/homework-g595-zueva/src/main/java/ru/mipt/java2016/homework/g595/zueva/task2/task2/My_KV_Storage.java new file mode 100644 index 000000000..dd0a4a8e8 --- /dev/null +++ b/homework-g595-zueva/src/main/java/ru/mipt/java2016/homework/g595/zueva/task2/task2/My_KV_Storage.java @@ -0,0 +1,123 @@ +package ru.mipt.java2016.homework.g595.zueva.task2.task2; + +/*сreated by Nadya*/ + +import org.apache.commons.io.IOExceptionWithCause; +import ru.mipt.java2016.homework.base.task2.KeyValueStorage; +import ru.mipt.java2016.homework.g595.zueva.task2.task2.Serializer; +import java.util.Iterator; +import java.util.Map; +import java.io.*; +import java.util.HashMap; + + +public class My_KV_Storage implements KeyValueStorage { + private static final String VALIDATION_STRING; + + static { + VALIDATION_STRING = "My strange storage"; + } + + public String FileName; + public HashMap CurrentStorage; + public Serializer keySerializer; + public Serializer valueSerializer; + public boolean ifOpen = false; + + /*Конструктор класс хранилища*/ + public My_KV_Storage(String newFileName, + Serializer newKeySerialisation, + Serializer newValueSerialisation) throws Exception { + keySerializer = newKeySerialisation; + valueSerializer = newValueSerialisation; + FileName = newFileName + "/note.txt"; + CurrentStorage = new HashMap(); + ifOpen = true; + /*проверка, возможно ли открыть и создать файл*/ + File destination = new File(FileName); + if (!destination.exists()) { + destination.createNewFile(); + + try (DataOutputStream out = new DataOutputStream(new FileOutputStream(FileName))) { + out.writeUTF(VALIDATION_STRING); + out.writeInt(0b0); + } catch (Exception e) { + throw new Exception("Cannot write to file"); + } + } + /* Существует ли наша валидирующая строка в файле && проверка, возможно ли читать из файла*/ + try (DataInputStream in = new DataInputStream(new FileInputStream(FileName))) { + if (!in.readUTF().equals(VALIDATION_STRING)) { + throw new IllegalStateException("Unknown validation"); + } + int quantity = in.readInt(); + for (int i = 0; i < quantity; ++i) { + + K keyToInsert = keySerializer.readFromStream(in); + V valueToInsert = valueSerializer.readFromStream(in); + CurrentStorage.put(keyToInsert, valueToInsert); + } + } catch (Exception exception) { + throw new Exception("Cannot read from file"); + } + } + @Override + public void close() throws IOExceptionWithCause { + isFileClosed(); + try + (DataOutputStream out = new DataOutputStream(new FileOutputStream(FileName))) { + out.writeUTF(VALIDATION_STRING); + out.writeInt(CurrentStorage.size()); + for (Map.Entry i : CurrentStorage.entrySet()) { + keySerializer.writeToStream(out, i.getKey()); + valueSerializer.writeToStream(out, i.getValue()); + } + ifOpen = false; + } catch (Exception e) { + throw new IllegalStateException("Failed to save and close storage"); + } + } + @Override + public V read(K key) { + isFileClosed(); + return CurrentStorage.get(key); + } + + @Override + public boolean exists(K key) { + isFileClosed(); + return CurrentStorage.keySet().contains(key); + } + + @Override + public void write(K key, V value) { + isFileClosed(); + CurrentStorage.put(key, value); + } + + @Override + public void delete(K key) { + isFileClosed(); + CurrentStorage.remove(key); + } + + @Override + public Iterator readKeys() { + isFileClosed(); + return CurrentStorage.keySet().iterator(); + } + + @Override + public int size() { + isFileClosed(); + return CurrentStorage.size(); + } + + + public void isFileClosed() { + if (!ifOpen) { + throw new IllegalStateException("Storage had been already closed"); + } + } +} + diff --git a/homework-g595-zueva/src/main/java/ru/mipt/java2016/homework/g595/zueva/task2/task2/Serializer1.java b/homework-g595-zueva/src/main/java/ru/mipt/java2016/homework/g595/zueva/task2/task2/Serializer1.java new file mode 100644 index 000000000..ee9e7ae26 --- /dev/null +++ b/homework-g595-zueva/src/main/java/ru/mipt/java2016/homework/g595/zueva/task2/task2/Serializer1.java @@ -0,0 +1,15 @@ +package ru.mipt.java2016.homework.g595.zueva.task2.task2; + +import java.io.DataInputStream; +import java.io.DataOutput; +import java.io.DataOutputStream; +import java.io.IOException; + +/** + * Created by Nadya on 31.10.2016. + */ +interface Serializer { + void writeToStream(DataOutputStream out, T value) throws Exception; + + T readFromStream(DataInputStream in) throws Exception; +} diff --git a/homework-g595-zueva/src/main/java/ru/mipt/java2016/homework/g595/zueva/task2/task2/Specified_serializers.java b/homework-g595-zueva/src/main/java/ru/mipt/java2016/homework/g595/zueva/task2/task2/Specified_serializers.java new file mode 100644 index 000000000..a4caff4b8 --- /dev/null +++ b/homework-g595-zueva/src/main/java/ru/mipt/java2016/homework/g595/zueva/task2/task2/Specified_serializers.java @@ -0,0 +1,79 @@ +package ru.mipt.java2016.homework.g595.zueva.task2.task2; + +/** + * Created by Nadya on 30.10.2016. + */ +import ru.mipt.java2016.homework.tests.task2.Student; +import ru.mipt.java2016.homework.tests.task2.StudentKey; + +import java.io.*; +import java.util.Date; + +public class Specified_serializers{ + +public static class SerialiserInt implements Serializer { + + + public void writeToStream(DataOutputStream out, Integer value) throws Exception { + out.writeInt(value); + } + + public Integer readFromStream(DataInputStream in) throws Exception { + return in.readInt(); + } +} + + +public static class SerializerString implements Serializer { + + public void writeToStream(DataOutputStream out, String value) throws IOException { + out.writeUTF(value); + } + + public String readFromStream(DataInputStream in) throws IOException { + return in.readUTF(); + } +} + + public static class SerializerDouble implements Serializer { + + public void writeToStream(DataOutputStream out, Double value) throws Exception { + out.writeDouble(value); + } + + @Override + public Double readFromStream(DataInputStream in) throws Exception { + return in.readDouble(); + } + } + + public static class SerializerStudentKey implements Serializer { + + public void writeToStream(DataOutputStream out, StudentKey value) throws Exception { + out.writeInt(value.getGroupId()); + out.writeUTF(value.getName()); + } + + public StudentKey readFromStream(DataInputStream in) throws Exception { + return new StudentKey(in.readInt(), in.readUTF()); + } + } + + public static class SerializerStudent implements Serializer { + + public void writeToStream(DataOutputStream out, Student value) throws Exception { + out.writeInt(value.getGroupId()); + out.writeUTF(value.getName()); + out.writeUTF(value.getHometown()); + out.writeLong(value.getBirthDate().getTime()); + out.writeBoolean(value.isHasDormitory()); + out.writeDouble(value.getAverageScore()); + + } + + public Student readFromStream(DataInputStream in) throws Exception { + return new Student(in.readInt(), in.readUTF(), in.readUTF(), + new Date(in.readLong()), in.readBoolean(), in.readDouble()); + } + } +} diff --git a/homework-g595-zueva/src/test/java/ru/mipt/java2016/homework/g595/zueva/task2/My_KV_StorageTest.java b/homework-g595-zueva/src/test/java/ru/mipt/java2016/homework/g595/zueva/task2/My_KV_StorageTest.java new file mode 100644 index 000000000..4db352dcd --- /dev/null +++ b/homework-g595-zueva/src/test/java/ru/mipt/java2016/homework/g595/zueva/task2/My_KV_StorageTest.java @@ -0,0 +1,55 @@ +package ru.mipt.java2016.homework.g595.zueva.task2; + +import ru.mipt.java2016.homework.base.task2.KeyValueStorage; +import ru.mipt.java2016.homework.tests.task2.AbstractSingleFileStorageTest; +import ru.mipt.java2016.homework.tests.task2.Student; +import ru.mipt.java2016.homework.tests.task2.StudentKey; +import ru.mipt.java2016.homework.g595.zueva.task2.task2.Specified_serializers; +import ru.mipt.java2016.homework.g595.zueva.task2.task2.My_KV_Storage; +import java.io.IOException; +import java.io.*; + +/** + * Created by maria on 26.10.16. + */ +public class My_KV_StorageTest extends AbstractSingleFileStorageTest { + + @Override + protected KeyValueStorage buildStringsStorage(String path) { + My_KV_Storage result = null; + Specified_serializers.SerializerString a; + Specified_serializers.SerializerString b; + try { + result = new My_KV_Storage(path, new Specified_serializers.SerializerString(), + new Specified_serializers.SerializerString()); + } catch (Exception except) { + System.out.println(except.getMessage()); + } + return result; + } + + + @Override + protected KeyValueStorage buildNumbersStorage(String path) { + My_KV_Storage result = null; + try { + result = new My_KV_Storage(path, new Specified_serializers.SerialiserInt(), + new Specified_serializers.SerializerDouble()); + } catch (Exception e) { + System.out.println(e.getMessage()); + } + return result; + } + + @Override + protected KeyValueStorage buildPojoStorage(String path) { + My_KV_Storage result = null; + try { + result = new My_KV_Storage(path, new Specified_serializers.SerializerStudentKey(), + new Specified_serializers.SerializerStudent()); + } catch (Exception ex) { + System.out.println(ex.getMessage()); + } + return result; + } +} From 366463ebcda248b3317ace853169c7caaac711b4 Mon Sep 17 00:00:00 2001 From: Nadezda Zueva Date: Mon, 31 Oct 2016 20:25:28 +0300 Subject: [PATCH 8/9] Add solved task 2 --- .../homework/base/task2/KeyValueStorage.java | 2 + .../g595/zueva/task1/AzazaCalculator.java | 171 ------------------ .../g595/zueva/task1/AzazaCalculatorTest.java | 11 -- java/io/annotations.xml | 5 + pom.xml | 1 + 5 files changed, 8 insertions(+), 182 deletions(-) delete mode 100644 homework-g595-zueva/src/main/java/ru/mipt/java2016/g595/zueva/task1/AzazaCalculator.java delete mode 100644 homework-g595-zueva/src/test/java/ru/mipt/java2016/g595/zueva/task1/AzazaCalculatorTest.java create mode 100644 java/io/annotations.xml diff --git a/homework-base/src/main/java/ru/mipt/java2016/homework/base/task2/KeyValueStorage.java b/homework-base/src/main/java/ru/mipt/java2016/homework/base/task2/KeyValueStorage.java index bab3d8d97..7d22a55cb 100644 --- a/homework-base/src/main/java/ru/mipt/java2016/homework/base/task2/KeyValueStorage.java +++ b/homework-base/src/main/java/ru/mipt/java2016/homework/base/task2/KeyValueStorage.java @@ -14,6 +14,8 @@ * @since 04.10.16 */ public interface KeyValueStorage extends Closeable { + void isFileClosed(); + /** * Возвращает значение для данного ключа, если оно есть в хранилище. * Иначе возвращает null. diff --git a/homework-g595-zueva/src/main/java/ru/mipt/java2016/g595/zueva/task1/AzazaCalculator.java b/homework-g595-zueva/src/main/java/ru/mipt/java2016/g595/zueva/task1/AzazaCalculator.java deleted file mode 100644 index e20b3293f..000000000 --- a/homework-g595-zueva/src/main/java/ru/mipt/java2016/g595/zueva/task1/AzazaCalculator.java +++ /dev/null @@ -1,171 +0,0 @@ -package ru.mipt.java2016.g595.zueva.task1; - -import ru.mipt.java2016.homework.base.task1.Calculator; -import ru.mipt.java2016.homework.base.task1.ParsingException; - -import java.util.ArrayDeque; -import java.util.Deque; -import java.util.StringTokenizer; - -class AzazaCalculator implements Calculator { - - static final AzazaCalculator INSTANCE = new AzazaCalculator(); - - @Override - public double calculate(String s) throws ParsingException { - /*if (s == null) { - throw new ParsingException("null"); - } - if (s == ""){ - throw new ParsingException("empty string"); - } - if (s == " "){ - throw new ParsingException("empty string"); - } - for(int i = 1; i < s.length() - 1; ++i){ - if(s.charAt(i) == ' ' || s.charAt(i) == '\n' || s.charAt(i) == '\t'){ - s = s.substring(0, i - 1) + s.substring(i + 1, s.length() - 1); - } - } - if(s.charAt(0) == ' ' || s.charAt(0) == '\n' || s.charAt(0) == '\t'){ - s = s.substring(1,s.length() - 1); - } - if(s.charAt(s.length() - 1) == ' ' || s.charAt(s.length() - 1) == '\n' || s.charAt(s.length() - 1) == '\t'){ - s = s.substring(0, s.length() - 2); - } - for(int i = 0; i < s.length(); ++i) { - if(!(s.charAt(i) == '+' || s.charAt(i) == '-' || s.charAt(i) == '*' ||s.charAt(i) == '/' || s.charAt(i) == '(' - ||s.charAt(i) == ')'||s.charAt(i) == '.'||s.charAt(i) == '1' || s.charAt(i) == '2' || s.charAt(i) == '0' || - s.charAt(i) == '3' || s.charAt(i) == '4' || s.charAt(i) == '5' || s.charAt(i) == '6' || s.charAt(i) == '7' || - s.charAt(i) == '8' || s.charAt(i) == '9')){ - throw new ParsingException("Bad symbol"); - } - } - for(int i = 0; i < s.length() - 1; ++i){ - if(s.charAt(i) == '/' && s.charAt(i + 1) == '0') { - return Double.POSITIVE_INFINITY; - } - } - for(int i =0; i < s.length() - 2; ++i) { - if(s.charAt(i) == '/' && s.charAt(i + 2) == '0' && s.charAt(i + 1) == '-') { - return Double.NEGATIVE_INFINITY; - } - }*/ - s = to_polish(s); - String buffer; - double num_1 = 0; - double num_2 = 0; - Deque stack = new ArrayDeque<>(); - StringTokenizer tok = new StringTokenizer(s); - while (tok.hasMoreTokens()) try { - buffer = tok.nextToken().trim(); - if (oper(buffer.charAt(0)) && buffer.length() == 1) { - System.out.println(buffer.charAt(0)); - num_1 = stack.pop(); - num_2 = stack.pop(); - switch (buffer.charAt(0)) { - case '+': { - num_2 = num_2 + num_1; - break; - } - case '-': { - num_2 = num_2 - num_1; - break; - } - case '*': { - num_2 = num_2 * num_1; - break; - } - case '/': { - num_2 = num_2 / num_1; - break; - } - - default: - throw new Exception("\nIndefinite operator\n"); - } - stack.push(num_2); - } else { - num_2 = Float.parseFloat(buffer); - stack.push(num_2); - } - } catch (Exception error) { - throw new ParsingException("\nIndefinite symbol\n"); - - } - - - return stack.pop(); - } - - public static boolean oper(char a) { - if (a == '+' || a == '-' || a == '*' || a == '/') { - return true; - } else { - return false; - } - } - public static short priority(char a) { - switch (a) { - case '*': - return 2; - case '/': - return 2; - case '+': - return 1; - case '-': - return 1; - default: - return -1; - } - } - - public static String to_polish(String input_string) { - - char c; - char t; - StringBuilder buffer = new StringBuilder(""); - StringBuilder output = new StringBuilder(""); - - for (int i = 0; i < input_string.length(); ++i) { - c = input_string.charAt(i); - if (oper(c)) { - // System.out.println("@"); - while (buffer.length() > 0) { - t = buffer.substring(buffer.length() - 1).charAt(0); - if (oper(t) && (priority(c) <= priority(t))) { - output.append(" ").append(t).append(" "); - buffer.setLength(buffer.length() - 1); - } else { - output.append(" "); - break; - } - } - output.append(" "); - buffer.append(c); - } else if ('(' == c) { - buffer.append(c); - } else if (')' == c) { - t = buffer.substring(buffer.length() - 1).charAt(0); - while ('(' != t) { - // System.out.println("&"); - output.append(" ").append(t); - buffer.setLength(buffer.length() - 1); - t = buffer.substring(buffer.length() - 1).charAt(0); - } - buffer.setLength(buffer.length() - 1); - } else { - - output.append(c); - } - } - - while (buffer.length() > 0) { - output.append(" ").append(buffer.substring(buffer.length() - 1)); - buffer.setLength(buffer.length() - 1); - } - - return output.toString(); - } -} - diff --git a/homework-g595-zueva/src/test/java/ru/mipt/java2016/g595/zueva/task1/AzazaCalculatorTest.java b/homework-g595-zueva/src/test/java/ru/mipt/java2016/g595/zueva/task1/AzazaCalculatorTest.java deleted file mode 100644 index d0fec2ee9..000000000 --- a/homework-g595-zueva/src/test/java/ru/mipt/java2016/g595/zueva/task1/AzazaCalculatorTest.java +++ /dev/null @@ -1,11 +0,0 @@ -package ru.mipt.java2016.g595.zueva.task1; - - -import ru.mipt.java2016.homework.tests.task1.AbstractCalculatorTest; - -public class AzazaCalculatorTest extends AbstractCalculatorTest { - @Override - public AzazaCalculator calc() { - return AzazaCalculator.INSTANCE; - } -} diff --git a/java/io/annotations.xml b/java/io/annotations.xml new file mode 100644 index 000000000..b088ffd48 --- /dev/null +++ b/java/io/annotations.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/pom.xml b/pom.xml index 7edd760f7..7d80019fb 100644 --- a/pom.xml +++ b/pom.xml @@ -87,6 +87,7 @@ homework-g596-grebenshchikova homework-g597-kochukov workshop-materials + homework-g595-zueva From b7b08a5e1554d85b3b524d1002944bf3e937bd99 Mon Sep 17 00:00:00 2001 From: Nadezda Zueva Date: Mon, 31 Oct 2016 21:03:36 +0300 Subject: [PATCH 9/9] fix global pom file --- pom.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/pom.xml b/pom.xml index 53c260551..30e70c2d4 100644 --- a/pom.xml +++ b/pom.xml @@ -71,6 +71,7 @@ homework-g597-grishutin homework-g595-tkachenko homework-g597-miller + homework-g595-zueva