From d8eb8da0c049edae5047e0eee628b14991ff9fd2 Mon Sep 17 00:00:00 2001 From: Bear346 <57682132+Bear346@users.noreply.github.com> Date: Mon, 9 Nov 2020 12:35:47 +0300 Subject: [PATCH 01/13] Create pom.xml --- pom.xml | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 pom.xml diff --git a/pom.xml b/pom.xml new file mode 100644 index 00000000..60b3aed3 --- /dev/null +++ b/pom.xml @@ -0,0 +1,38 @@ + + + 4.0.0 + + org.example + laboratoryWork + 1.0-SNAPSHOT + + + + org.apache.maven.plugins + maven-compiler-plugin + + 7 + 7 + + + + + + + org.junit.jupiter + junit-jupiter + RELEASE + test + + + junit + junit + RELEASE + test + + + + + From 1ae78e89df4580619c313b36201b77bfd10e89f8 Mon Sep 17 00:00:00 2001 From: Bear346 <57682132+Bear346@users.noreply.github.com> Date: Mon, 9 Nov 2020 12:36:51 +0300 Subject: [PATCH 02/13] Create Collatz.java --- src/main/java/Collatz.java | 43 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 src/main/java/Collatz.java diff --git a/src/main/java/Collatz.java b/src/main/java/Collatz.java new file mode 100644 index 00000000..aabe0148 --- /dev/null +++ b/src/main/java/Collatz.java @@ -0,0 +1,43 @@ +class Collatz +{ + private long maxSequence = 0; + private int count = 0; + private long result = 0; + private long temp = 0; + private long Result_number; + public long setMaxSequence(long num) { + temp = num; + while (temp!=1) { + if (temp % 2 == 0) { + count++; + result = temp / 2; + temp = result; + } else { + count++; + result = temp * 3 + 1; + temp = result; + } + } + if (count >= maxSequence) { + maxSequence = count; + Result_number = num; + + } + count = 0;return maxSequence; + } + public long getResult_number() { + return Result_number; + } +} + +class Task1 { + public static void main(String[] args) { + Collatz object = new Collatz(); + long result = 0; + for (long i = 1; i <= 1_000_000; i++) + result = object.setMaxSequence(i); + long result2 = object.getResult_number(); + System.out.println("Sequence consist of " + result + " steps"); + System.out.println("This number is " + result2); + } +} From 5aeafe50a9942c85d8d8409b7e341299b06f5573 Mon Sep 17 00:00:00 2001 From: Bear346 <57682132+Bear346@users.noreply.github.com> Date: Mon, 9 Nov 2020 12:37:37 +0300 Subject: [PATCH 03/13] Create Sqrt.java --- src/main/java/Sqrt.java | 52 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 src/main/java/Sqrt.java diff --git a/src/main/java/Sqrt.java b/src/main/java/Sqrt.java new file mode 100644 index 00000000..808edef6 --- /dev/null +++ b/src/main/java/Sqrt.java @@ -0,0 +1,52 @@ +import java.math.*; +import java.util.Scanner; +class Sqrt +{ + double delta = 0.00000001; + double arg; + + Sqrt(double arg) + { + this.arg = arg; + } + double average(double x ,double y) { + return (x + y) / 2.0; + } + boolean good(double guess , double x) + { + return Math.abs(guess*guess -x) list = new ArrayList<>(); + private ArrayList list2 = new ArrayList<>(); + private String a=""; + private String b=""; + public String wrapping(String[] args) { + int j = 0; + for (int i = 0; i < args.length; i++) { + if (args[i].equals("-")) { + buf[j] = args[i - 1]; + j++; + buf[j] = args[i + 1]; + j++; + } + } + try { + int a = Integer.parseInt(buf[0]); + int b = Integer.parseInt(buf[0 + 1]); + for (int k = 0; a + 1 <= b; a++, k++) { + list.add(a + 1); + } + } catch (NumberFormatException e) { } + return this.list.toString(); + } + public String delete(String[] args) { + for (int i = 0; i < args.length; i++) { + if (args[i].equals("-")) break; + str = args[i]; + list2.add(str); + } + return this.list2.toString(); + } + + public String addingString(String[] args) { + Numbers numbers = new Numbers(); + String a = numbers.wrapping(args); + String b = numbers.delete(args); + total = b + a; + return this.total.replace("[","").replace("]"," ").replace(", "," "); + } +} +class Task_03 +{ + public static void main(String[]args) + { + String [] arguments ={"1","2","3","4","5","-","15"}; + Numbers numbers = new Numbers(); + String result = numbers.addingString(arguments); + System.out.println(result); + } +} From 13533632f5843acdd9e329cfe66a519a5d6d1e87 Mon Sep 17 00:00:00 2001 From: Bear346 <57682132+Bear346@users.noreply.github.com> Date: Mon, 9 Nov 2020 12:39:06 +0300 Subject: [PATCH 05/13] Create Numbers2 --- src/main/java/Numbers2 | 50 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 src/main/java/Numbers2 diff --git a/src/main/java/Numbers2 b/src/main/java/Numbers2 new file mode 100644 index 00000000..bb03be57 --- /dev/null +++ b/src/main/java/Numbers2 @@ -0,0 +1,50 @@ +import java.util.regex.Pattern; +import java.util.ArrayList; + +public class Numbers2 { + private static StringBuilder total; + private static ArrayList buf; + + public static void main(String[] args) { + System.out.println(UnWrapping("1,2,4,5,6,7,18,19,20,21")); + } + + static String UnWrapping(String original){ + Pattern pattern = Pattern.compile("[,]"); + String[] numbers = pattern.split(original); + + int prev = -2; + int curr; + buf = new ArrayList(); + total = new StringBuilder(); + + for (String num:numbers + ) { + curr = Integer.parseInt(num); + + if(curr != prev+1 & buf.size() != 0) + BufferCleaning(); + + buf.add(curr); + prev = curr; + } + BufferCleaning(); + total.deleteCharAt(total.length()-1); + return total.toString(); + } + private static void BufferCleaning(){ + if(buf.size() < 3 ){ + for (int temp:buf) { + total.append(temp); + total.append(","); + } + } + else { + total.append(buf.get(0)); + total.append("-"); + total.append(buf.get(buf.size()-1)); + total.append(","); + } + buf = new ArrayList(); + } +} From cd7cf7495885cbeefcb66e86a9734e8b8a24de07 Mon Sep 17 00:00:00 2001 From: Bear346 <57682132+Bear346@users.noreply.github.com> Date: Mon, 9 Nov 2020 12:39:59 +0300 Subject: [PATCH 06/13] Create NumbersToStrings.java --- src/main/java/NumbersToStrings.java | 149 ++++++++++++++++++++++++++++ 1 file changed, 149 insertions(+) create mode 100644 src/main/java/NumbersToStrings.java diff --git a/src/main/java/NumbersToStrings.java b/src/main/java/NumbersToStrings.java new file mode 100644 index 00000000..70e297c5 --- /dev/null +++ b/src/main/java/NumbersToStrings.java @@ -0,0 +1,149 @@ +public class NumbersToStrings { + public static void main(String[] args) { + String in = args[0]; + String[] out = Printing(in); + for (int i = 0; i < out.length; i++) { + System.out.println(out[i]); + } + } + + static String[] Printing(String input) { + String[] output = new String[7]; + for (int i = 0; i < input.length(); i++) { + int number = input.charAt(i); + String[] strBuf = printDigitArray(number); + if (i<1){ + output = strBuf; + } + else { + for (int j = 0; j < 7; j++) { + + output[j] = output[j].concat(strBuf[j]); + } + } + + } + return output; + } + + private static String[] printDigitArray(int number) { + switch (number) { + case '0': + String[] num_0 = { + " *** ", + " * * ", + "* *", + "* *", + "* *", + " * * ", + " *** "}; + return num_0; + + case '1': + String[] num_01 = + {" * ", + " ** ", + " * ", + " * ", + " * ", + " * ", + " *** "}; + return num_01; + + case '2': + String[] num_02 = + {"*** ", + " * * ", + " * * ", + " * ", + " * ", + " * ", + " ***** "}; + return num_02; + + case '3': + String[] num_03 = + {"*** ", + " * * ", + " * ", + " *** ", + " * ", + " * * ", + " *** "}; + + + return num_03; + + + case '4': + String[] num_04 = + {"*", + " ** ", + " * * ", + " * * ", + "****** ", + " * ", + " * "}; + return num_04; + + case '5': + + + String[] num_05 = + {"****", + " * ", + " * ", + " **** ", + " * ", + " * * ", + " *** "}; + return num_05; + + case '6': + String[] num_06 = + {"***", + " * * ", + " * ", + " **** ", + " * * ", + " * * ", + " *** "}; + return num_06; + + case '7': + String[] num_07 = + {"*****", + " * ", + " * ", + " * ", + " * ", + " * ", + " * "}; + return num_07; + + case '8': + String[] num_08 = + {"***", + " * * ", + " * * ", + " *** ", + " * * ", + " * * ", + " *** "}; + return num_08; + + case '9': + String[] num_09 = { + " ***", + " * * ", + " * * ", + " **** ", + " * ", + " * * ", + " *** "}; + return num_09; + } + return null; + } + } + From 1f82dd6e7a925936fb4da8b6c31cb4528c9360ef Mon Sep 17 00:00:00 2001 From: Bear346 <57682132+Bear346@users.noreply.github.com> Date: Mon, 9 Nov 2020 12:40:42 +0300 Subject: [PATCH 07/13] Rename Numbers to Numbers.java --- src/main/java/{Numbers => Numbers.java} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/main/java/{Numbers => Numbers.java} (100%) diff --git a/src/main/java/Numbers b/src/main/java/Numbers.java similarity index 100% rename from src/main/java/Numbers rename to src/main/java/Numbers.java From 65bd1b7f9d300b56f56c48c1bdbe770dafe53420 Mon Sep 17 00:00:00 2001 From: Bear346 <57682132+Bear346@users.noreply.github.com> Date: Mon, 9 Nov 2020 12:41:06 +0300 Subject: [PATCH 08/13] Rename Numbers2 to Numbers2.java --- src/main/java/{Numbers2 => Numbers2.java} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/main/java/{Numbers2 => Numbers2.java} (100%) diff --git a/src/main/java/Numbers2 b/src/main/java/Numbers2.java similarity index 100% rename from src/main/java/Numbers2 rename to src/main/java/Numbers2.java From 94407ebb30c2079a6b85411798771593b8232a49 Mon Sep 17 00:00:00 2001 From: Bear346 <57682132+Bear346@users.noreply.github.com> Date: Mon, 9 Nov 2020 12:42:29 +0300 Subject: [PATCH 09/13] Create Circle.java --- src/main/java/Circle.java | 59 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 src/main/java/Circle.java diff --git a/src/main/java/Circle.java b/src/main/java/Circle.java new file mode 100644 index 00000000..cf0d98d1 --- /dev/null +++ b/src/main/java/Circle.java @@ -0,0 +1,59 @@ +public class Circle { + private double radius; + private double ference; + private double area; + + public Circle(double radius){ + this.radius = radius; + this.ference = 2 * Math.PI * radius; + this.area = Math.PI * Math.pow(radius,2); + } + + public double getRadius() { + return radius; + } + + public void setRadius(double radius) { + this.radius = radius; + this.ference = 2 * Math.PI * radius; + this.area = Math.PI * Math.pow(radius,2); + } + + public double getFerence() { + return ference; + } + + public void setFerence(double ference) { + this.ference = ference; + this.radius = ference / 2 / Math.PI; + this.area = Math.PI * Math.pow(radius,2); + } + + public double getArea() { + return area; + } + + public void setArea(double area) { + this.area = area; + this.radius = Math.sqrt(area / Math.PI); + this.ference = 2 * Math.PI * radius; + } + +} + +class Task6 { + public static void main(String[] args) { + Circle rope = new Circle((double)6378.1); + double dist = rope.getRadius(); + rope.setFerence(rope.getFerence() + 0.001); + double diff = rope.getRadius() - dist; + System.out.println(diff); + Circle road = new Circle(4); + double roadPrice = road.getArea() * 1000; + double fencePrice = road.getFerence() * 2000; + double totalPrice =roadPrice + fencePrice; + System.out.println((float)roadPrice); + System.out.println((float)fencePrice); + System.out.println((float)totalPrice); + } +} From 7503ae003569ebc407ad55cf30dbc6564cf7d28d Mon Sep 17 00:00:00 2001 From: Bear346 <57682132+Bear346@users.noreply.github.com> Date: Mon, 9 Nov 2020 12:44:30 +0300 Subject: [PATCH 10/13] Create CollatzTest.java --- src/test/CollatzTest.java | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 src/test/CollatzTest.java diff --git a/src/test/CollatzTest.java b/src/test/CollatzTest.java new file mode 100644 index 00000000..0b39c578 --- /dev/null +++ b/src/test/CollatzTest.java @@ -0,0 +1,17 @@ +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.*; + +class CollatzTest { + @Test + void setMaxSequence(){ + Collatz collatz = new Collatz(); + assertEquals(949,collatz.setMaxSequence(63728127)); + } + @Test + void getResult_number(){ + Collatz collatz = new Collatz(); + collatz.setMaxSequence(837799); + assertEquals(837799,collatz.getResult_number()); + } +} From 9a411487c5d0a8898625f833af42419cb9927336 Mon Sep 17 00:00:00 2001 From: Bear346 <57682132+Bear346@users.noreply.github.com> Date: Mon, 9 Nov 2020 12:45:11 +0300 Subject: [PATCH 11/13] Create NumbersTest.java --- src/test/NumbersTest.java | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 src/test/NumbersTest.java diff --git a/src/test/NumbersTest.java b/src/test/NumbersTest.java new file mode 100644 index 00000000..4e676a9b --- /dev/null +++ b/src/test/NumbersTest.java @@ -0,0 +1,24 @@ +import org.junit.jupiter.api.Test; +import java.util.ArrayList; + +import static org.junit.jupiter.api.Assertions.*; + +class NumbersTest { + Numbers numbers = new Numbers(); + String [] args ={"1","2","3","4","5","-","20"}; + @Test + void wrapping() { + + assertEquals("[6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]",numbers.wrapping(args)); + } + + @Test + void delete() { + assertEquals("[1, 2, 3, 4, 5]",numbers.delete(args)); + } + + @Test + void addingString() { + assertEquals("1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ",numbers.addingString(args)); + } +} From 8ca3ba13f5d789d9bf6a56baad5e4447c7fb0058 Mon Sep 17 00:00:00 2001 From: Bear346 <57682132+Bear346@users.noreply.github.com> Date: Mon, 9 Nov 2020 12:46:11 +0300 Subject: [PATCH 12/13] Create Numbers2Test.java --- src/test/Numbers2Test.java | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 src/test/Numbers2Test.java diff --git a/src/test/Numbers2Test.java b/src/test/Numbers2Test.java new file mode 100644 index 00000000..64f9894c --- /dev/null +++ b/src/test/Numbers2Test.java @@ -0,0 +1,11 @@ +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.*; + +class Numbers2Test { + + @Test + void fold() { + assertEquals("1,2,4-7,18-21", Numbers2.UnWrapping("1,2,4,5,6,7,18,19,20,21")); + } +} From 59ab21f88c163b09ed600449fc98a44a4f33eccf Mon Sep 17 00:00:00 2001 From: Bear346 <57682132+Bear346@users.noreply.github.com> Date: Mon, 9 Nov 2020 12:46:52 +0300 Subject: [PATCH 13/13] Create CircleTest.java --- src/test/CircleTest.java | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 src/test/CircleTest.java diff --git a/src/test/CircleTest.java b/src/test/CircleTest.java new file mode 100644 index 00000000..9a2a541c --- /dev/null +++ b/src/test/CircleTest.java @@ -0,0 +1,21 @@ +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.*; + +class CircleTest { + + @Test + void getRadius() { + assertEquals(1.21,1.21,0); + } + + @Test + void getFerence() { + assertEquals(3.75,3.75,0); + } + + @Test + void getArea() { + assertEquals(5.78,5.78,0); + } +}