From 5913ae75fa9afb95615fea0176038db8c096e74c Mon Sep 17 00:00:00 2001 From: Peter <57073925+Pitonnov@users.noreply.github.com> Date: Fri, 28 Aug 2020 12:52:01 +0300 Subject: [PATCH] ok --- pom.xml | 86 ++++++++++++++++++++++++++ src/main/java/Circle.java | 50 +++++++++++++++ src/main/java/Collatz.java | 24 +++++++ src/main/java/Number_queue.java | 35 +++++++++++ src/main/java/Number_queue_replay.java | 37 +++++++++++ src/main/java/Sqrt.java | 37 +++++++++++ src/main/java/number_symbol.java | 67 ++++++++++++++++++++ src/test/java/Circle_test.java | 13 ++++ src/test/java/Collatz_test.java | 15 +++++ src/test/java/Number_queue_test.java | 13 ++++ src/test/java/Replay_Test.java | 12 ++++ src/test/java/Sqrt_test.java | 13 ++++ src/test/java/number_symbol_test.java | 11 ++++ 13 files changed, 413 insertions(+) create mode 100644 pom.xml create mode 100644 src/main/java/Circle.java create mode 100644 src/main/java/Collatz.java create mode 100644 src/main/java/Number_queue.java create mode 100644 src/main/java/Number_queue_replay.java create mode 100644 src/main/java/Sqrt.java create mode 100644 src/main/java/number_symbol.java create mode 100644 src/test/java/Circle_test.java create mode 100644 src/test/java/Collatz_test.java create mode 100644 src/test/java/Number_queue_test.java create mode 100644 src/test/java/Replay_Test.java create mode 100644 src/test/java/Sqrt_test.java create mode 100644 src/test/java/number_symbol_test.java diff --git a/pom.xml b/pom.xml new file mode 100644 index 00000000..79fbfc84 --- /dev/null +++ b/pom.xml @@ -0,0 +1,86 @@ + + + + 4.0.0 + + org.example + Lab_1 + 1.0-SNAPSHOT + + + + org.apache.maven.plugins + maven-compiler-plugin + + 8 + 8 + + + + + + + junit + junit + 4.11 + test + + + junit + junit + 4.11 + test + + + junit + junit + 4.11 + test + + + junit + junit + 4.11 + test + + + junit + junit + 4.11 + test + + + junit + junit + 4.11 + test + + + junit + junit + 4.11 + test + + + junit + junit + 4.11 + test + + + junit + junit + 4.11 + test + + + junit + junit + 4.11 + test + + + + \ No newline at end of file diff --git a/src/main/java/Circle.java b/src/main/java/Circle.java new file mode 100644 index 00000000..27a7d4ce --- /dev/null +++ b/src/main/java/Circle.java @@ -0,0 +1,50 @@ +import java.math.*; + +public class Circle { + private double Radius; + private double Ference; + private double Area; + + public double getRadius() { + return Radius; + } + + public double getFerence() { + return Ference; + } + + public double getArea() { + return Area; + } + public void setRadius (double newRadius) { + Radius=newRadius; + Ference=2*Math.PI*Radius; + Area=Math.PI*Math.pow(Radius,2); + } + public void setFerence (double newFerence) { + Ference=newFerence; + Radius=Ference/(2*Math.PI); + Area=Math.pow(Ference, 2)/(4*Math.PI); + } + public void setArea (double newArea) { + Area=newArea; + Radius=Math.sqrt((Area/Math.PI)); + Ference=Math.sqrt((Area*2*Math.PI)); + } +} +class Circle_Demo { + public static void main (String[] args) { + Circle Earth = new Circle(); + Earth.setRadius(6378.1); + Circle Hole = new Circle(); + Hole.setFerence(Earth.getFerence()+0.001); + double result = (Hole.getRadius()-Earth.getRadius())*100000; + System.out.println("Exact Difference is "+ result); + Circle Pool = new Circle(); + Pool.setRadius(3); + Circle PoolRoad = new Circle(); + PoolRoad.setRadius(Pool.getRadius()+1); + double Cost = ((PoolRoad.getFerence()*2000)+((PoolRoad.getArea()-Pool.getArea())*1000)); + System.out.printf("Cost pool road and fence: %1.2f\n",Cost); + } +} \ No newline at end of file diff --git a/src/main/java/Collatz.java b/src/main/java/Collatz.java new file mode 100644 index 00000000..1599be73 --- /dev/null +++ b/src/main/java/Collatz.java @@ -0,0 +1,24 @@ +public class Collatz { + public static long metodCollatz(long l) { + if (l == 1) + return 1; + else if (l % 2 == 0) + return 1 + metodCollatz(l / 2); + else + return 1 + metodCollatz(l * 3 + 1); + } + + public static void main(String[] args) { + long start_number = 1, sim, sim_max = 0, i; + + for(i = 1; i <= 1000000; i++) { + sim = metodCollatz(i); + if(sim > sim_max) { + sim_max = sim; + start_number = i; + } + } + System.out.println(start_number+" "+ sim_max ); + } + +} diff --git a/src/main/java/Number_queue.java b/src/main/java/Number_queue.java new file mode 100644 index 00000000..4b764e7c --- /dev/null +++ b/src/main/java/Number_queue.java @@ -0,0 +1,35 @@ +import java.util.Scanner; + +public class Number_queue { + public static int[] Generating(String inter) { + int[] number_queue; + String Predel[] = inter.split("-"); + if (Predel.length == 1) { + number_queue = new int[1]; + number_queue[0] = Integer.parseInt(Predel[0]); + } else { + int start = Integer.parseInt(Predel[0]); + int end = Integer.parseInt(Predel[1]); + number_queue = new int[end - start + 1]; + for (int i = start; i <= end; i++) + number_queue[i - start] = i; + } + return number_queue; + } + + public static void main(String[] args) { + Scanner in = new Scanner(System.in); + System.out.print("Enter your numbers queue: "); + String line = in.nextLine(); + String Line[] = line.split(","); + for (int i = 0; i < Line.length; i++) { + int[] numbers = Generating(Line[i]); + for (int j = 0; j < numbers.length; j++) { + if (i ==Line.length - 1 && j == numbers.length - 1) + System.out.print(numbers[j]); + else + System.out.print(numbers[j] + ","); + } + } + } +} \ No newline at end of file diff --git a/src/main/java/Number_queue_replay.java b/src/main/java/Number_queue_replay.java new file mode 100644 index 00000000..ad0dd9a1 --- /dev/null +++ b/src/main/java/Number_queue_replay.java @@ -0,0 +1,37 @@ +import java.util.Scanner; + +public class Number_queue_replay { + + public static String replay (String line){ + String numb[] = line.split(","); + int[] numbers = new int[numb.length + 1]; + StringBuilder string = new StringBuilder(); + //string.append(); + for (int i = 0; i < numb.length; i++) + numbers[i] = Integer.parseInt(numb[i]); + + for(int j = 0; j < numbers.length - 1 ; j++) { + string.append(numbers[j]); + + if(numbers[j] == numbers[j + 1] - 1 && numbers[j + 1] == numbers[j + 2] - 1) { + while (j < numbers.length - 1 && numbers[j] == numbers[j + 1] - 1) + j++; + string.append("-"); + string.append(numbers[j]); + + if(j < numbers.length - 1) + string.append(","); + } + else + string.append(","); + } + return (string.toString()).substring(0,(string.toString()).length() - 1); + } + public static void main(String[] args) { + Scanner in = new Scanner(System.in); + System.out.print("Write your numbers: "); + String line = in.nextLine(); + replay(line); + System.out.print(replay(line)); + } +} \ No newline at end of file diff --git a/src/main/java/Sqrt.java b/src/main/java/Sqrt.java new file mode 100644 index 00000000..f6c2962d --- /dev/null +++ b/src/main/java/Sqrt.java @@ -0,0 +1,37 @@ +public class Sqrt { + double delta = 0.00000001; + double arg; + + Sqrt(double arg, double delta) { + this.arg = arg; + this.delta = delta; + } + double average(double x, double y) { + return (x + y) / 2.0; + } + boolean good(double guess, double x) { + return Math.abs(guess * guess - x) < delta; + } + double improve(double guess, double x) { + return average(guess,x / guess); + } + double iter(double guess, double x) { + if(good(guess, x)) + return guess; + else + return iter(improve(guess, x), x); + } + public double calc() { + return iter(1.0, arg); + } + + public static void main(String[] args) + { + double val = Double.parseDouble(args[0]); + double process = Double.parseDouble(args[1]); + + Sqrt sqrt = new Sqrt(val, process); + double result = sqrt.calc(); + System.out.println("Sqrt of "+ val +" = "+ result); + } +} \ No newline at end of file diff --git a/src/main/java/number_symbol.java b/src/main/java/number_symbol.java new file mode 100644 index 00000000..d912231d --- /dev/null +++ b/src/main/java/number_symbol.java @@ -0,0 +1,67 @@ +import java.util.Scanner; + +public class number_symbol { + public static void main(String[] args) { + String [] m_1 = new String [] {" * "," ** "," * * "," * "," * "," * "," *** "}; + String [] m_2 = new String [] {" *** ","* * ","* * "," * "," * ","* ","***** "}; + String [] m_3 = new String [] {" *** ","* * "," * "," *** "," * ","* * "," *** "}; + String [] m_4 = new String [] {" * "," ** "," * * ","* * ","***** "," * "," * "}; + String [] m_5 = new String [] {"***** ","* ","* ","***** "," * "," * ","***** "}; + String [] m_6 = new String [] {"***** ","* ","* ","***** ","* * ","* * ","***** "}; + String [] m_7 = new String [] {"***** "," * "," * "," * "," * ","* ","* "}; + String [] m_8 = new String [] {"***** ","* * ","* * ","***** ","* * ","* * ","***** "}; + String [] m_9 = new String [] {"***** ","* * ","* * ","***** "," * "," * ","***** "}; + String [] m_0 = new String [] {"***** ","* * ","* * ","* * ","* * ","* * ","***** "}; + Scanner num = new Scanner(System.in); + System.out.print("Enter your numbers: "); + String user = num.nextLine(); + char [] result = user.toCharArray(); + for (int a=0; a<7; a++) { + for (char b : result) { + switch (b) { + case '1': { + System.out.print(m_1[a]); + break; + } + case '2': { + System.out.print(m_2[a]); + break; + } + case '3': { + System.out.print(m_3[a]); + break; + } + case '4': { + System.out.print(m_4[a]); + break; + } + case '5': { + System.out.print(m_5[a]); + break; + } + case '6': { + System.out.print(m_6[a]); + break; + } + case '7': { + System.out.print(m_7[a]); + break; + } + case '8': { + System.out.print(m_8[a]); + break; + } + case '9': { + System.out.print(m_9[a]); + break; + } + case '0': { + System.out.print(m_0[a]); + break; + } + } + } + System.out.println("\n"); + } + } +} diff --git a/src/test/java/Circle_test.java b/src/test/java/Circle_test.java new file mode 100644 index 00000000..f5c757a2 --- /dev/null +++ b/src/test/java/Circle_test.java @@ -0,0 +1,13 @@ +import org.junit.Test; + +import static org.junit.Assert.*; + +public class Circle_test { + + @Test + public void getRadius() { + Circle test = new Circle(); + test.setFerence(36); + assertEquals(5.729577951308232, test.getRadius(), 0); + } +} \ No newline at end of file diff --git a/src/test/java/Collatz_test.java b/src/test/java/Collatz_test.java new file mode 100644 index 00000000..ae2cbaa9 --- /dev/null +++ b/src/test/java/Collatz_test.java @@ -0,0 +1,15 @@ +import org.junit.Test; + +import static org.junit.Assert.*; + +public class Collatz_test { + @Test + public void main() { + assertEquals(1, Collatz.metodCollatz(1)); + assertEquals(525, Collatz.metodCollatz(837799)); + assertEquals(21, Collatz.metodCollatz(19)); + assertEquals(112, Collatz.metodCollatz(27)); + assertEquals(179, Collatz.metodCollatz(871)); + } + +} diff --git a/src/test/java/Number_queue_test.java b/src/test/java/Number_queue_test.java new file mode 100644 index 00000000..24fb3672 --- /dev/null +++ b/src/test/java/Number_queue_test.java @@ -0,0 +1,13 @@ +import org.junit.Test; + +import static org.junit.Assert.*; + + +public class Number_queue_test { + + @Test + public void transfer() { + assertArrayEquals(new int[]{2,3,4,5},Number_queue.Generating("2-5")); + assertArrayEquals(new int[]{1},Number_queue.Generating("1")); + } +} \ No newline at end of file diff --git a/src/test/java/Replay_Test.java b/src/test/java/Replay_Test.java new file mode 100644 index 00000000..a01ab54f --- /dev/null +++ b/src/test/java/Replay_Test.java @@ -0,0 +1,12 @@ +import org.junit.Test; + +import static org.junit.Assert.*; + +public class Replay_Test { + + @Test + public void archive() { + assertEquals("5,3,1-4,8,9,23-26",Number_queue_replay.replay("5,3,1,2,3,4,8,9,23,24,25,26")); + assertEquals("3-7,-20--17,33",Number_queue_replay.replay("3,4,5,6,7,-20,-19,-18,-17,33")); + } +} \ No newline at end of file diff --git a/src/test/java/Sqrt_test.java b/src/test/java/Sqrt_test.java new file mode 100644 index 00000000..a479a0e2 --- /dev/null +++ b/src/test/java/Sqrt_test.java @@ -0,0 +1,13 @@ +import org.junit.Test; + +import static org.junit.Assert.assertEquals; + +public class Sqrt_test { + @Test + public void calc() { + Sqrt Sqrt1 = new Sqrt(4,0.1); + assertEquals(2.0,Sqrt1.calc(), 0.1); + Sqrt Sqrt2 = new Sqrt(9,0.1); + assertEquals(3.0,Sqrt2.calc(), 0.1); + } +} diff --git a/src/test/java/number_symbol_test.java b/src/test/java/number_symbol_test.java new file mode 100644 index 00000000..bafa90b8 --- /dev/null +++ b/src/test/java/number_symbol_test.java @@ -0,0 +1,11 @@ +import org.junit.Test; + +import static org.junit.Assert.*; + +public class number_symbol_test { + @Test + public void main() { + assertEquals(1, Collatz.metodCollatz(1)); + assertEquals(525, Collatz.metodCollatz(837799)); + } +}