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)
Date: Mon, 9 Nov 2020 12:38:29 +0300
Subject: [PATCH 04/13] Create Numbers
---
src/main/java/Numbers | 56 +++++++++++++++++++++++++++++++++++++++++++
1 file changed, 56 insertions(+)
create mode 100644 src/main/java/Numbers
diff --git a/src/main/java/Numbers b/src/main/java/Numbers
new file mode 100644
index 00000000..4310160e
--- /dev/null
+++ b/src/main/java/Numbers
@@ -0,0 +1,56 @@
+import java.util.ArrayList;
+
+class Numbers {
+ private String[] buf = new String[100];
+ private String str="";
+ private String total="";
+ private ArrayList 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);
+ }
+}