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 + + + + + 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); + } +} 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); + } +} diff --git a/src/main/java/Numbers.java b/src/main/java/Numbers.java new file mode 100644 index 00000000..4310160e --- /dev/null +++ b/src/main/java/Numbers.java @@ -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); + } +} diff --git a/src/main/java/Numbers2.java b/src/main/java/Numbers2.java new file mode 100644 index 00000000..bb03be57 --- /dev/null +++ b/src/main/java/Numbers2.java @@ -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(); + } +} 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; + } + } + 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)