diff --git a/lab1/FunctionCalculator/.idea/.gitignore b/.idea/.gitignore similarity index 100% rename from lab1/FunctionCalculator/.idea/.gitignore rename to .idea/.gitignore diff --git a/lab2/Matrix/.idea/misc.xml b/.idea/misc.xml similarity index 73% rename from lab2/Matrix/.idea/misc.xml rename to .idea/misc.xml index 7464918..d15472f 100644 --- a/lab2/Matrix/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,6 +1,6 @@ - + \ No newline at end of file diff --git a/lab2/Matrix/.idea/modules.xml b/.idea/modules.xml similarity index 54% rename from lab2/Matrix/.idea/modules.xml rename to .idea/modules.xml index 8a85d50..f1a8c3c 100644 --- a/lab2/Matrix/.idea/modules.xml +++ b/.idea/modules.xml @@ -2,7 +2,7 @@ - + \ No newline at end of file diff --git a/.idea/uiDesigner.xml b/.idea/uiDesigner.xml new file mode 100644 index 0000000..2b63946 --- /dev/null +++ b/.idea/uiDesigner.xml @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/lab1/FunctionCalculator/FunctionCalculator.iml b/OOP_IO-2x_2023.iml similarity index 100% rename from lab1/FunctionCalculator/FunctionCalculator.iml rename to OOP_IO-2x_2023.iml diff --git a/lab1/FunctionCalculator/.idea/.name b/lab1/FunctionCalculator/.idea/.name deleted file mode 100644 index 002da1d..0000000 --- a/lab1/FunctionCalculator/.idea/.name +++ /dev/null @@ -1 +0,0 @@ -Main.java \ No newline at end of file diff --git a/lab1/FunctionCalculator/.idea/misc.xml b/lab1/FunctionCalculator/.idea/misc.xml deleted file mode 100644 index 7464918..0000000 --- a/lab1/FunctionCalculator/.idea/misc.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/lab1/FunctionCalculator/.idea/modules.xml b/lab1/FunctionCalculator/.idea/modules.xml deleted file mode 100644 index 5092df8..0000000 --- a/lab1/FunctionCalculator/.idea/modules.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/lab1/FunctionCalculator/out/production/FunctionCalculator/Main.class b/lab1/FunctionCalculator/out/production/FunctionCalculator/Main.class deleted file mode 100644 index 920cbb0..0000000 Binary files a/lab1/FunctionCalculator/out/production/FunctionCalculator/Main.class and /dev/null differ diff --git a/lab1/FunctionCalculator/src/Main.java b/lab1/FunctionCalculator/src/Main.java deleted file mode 100644 index bcda6ea..0000000 --- a/lab1/FunctionCalculator/src/Main.java +++ /dev/null @@ -1,51 +0,0 @@ -import java.util.Scanner; -public class Main { - public static void main(String[] args) { - //C2 = 2501 % 2 = 1, і операція O1 буде відніманням (-). - //C3 = 2501 % 3 = 2 - //C5 = 2501 % 5 = 1, і операція O2 буде діленням (/). - //C7 = 2501 % 7 = 4, тип індексів i та j буде char. - double result = 0; // результат - char i, j; - char operation1 = '-'; - double constant = 2.0; - Scanner scanner = new Scanner(System.in); - System.out.print("Введіть значення n: "); - int n = scanner.nextInt(); - System.out.print("Введіть значення m: "); - int m = scanner.nextInt(); - - // Обчислення значення функції S - for (i = 'a'; i <= 'a' + n - 1; i++) { - for (j = 'b'; j <= 'b' + m - 1; j++) { - try { - double value = (double) i / applyOperation(j, operation1, constant); - result += value; - } catch (ArithmeticException e) { - System.out.println("Ділення на нуль: " + e.getMessage()); - } catch (Exception e) { - System.out.println("Виникла помилка: " + e.getMessage()); - } - } - } - - // Виведення результату - System.out.println("Результат: " + result); - } - - // Метод, який застосовує операцію О1 до двох чисел - public static double applyOperation(char j, char operation, double constant) throws Exception { - switch (operation) { - case '-': - return (double) j - constant; - case '/': - if (constant == 0.0) { - throw new ArithmeticException("C не може бути рівним нулю"); - } else { - return (double) j / constant; - } - default: - throw new Exception("Непідтримувана операція: " + operation); - } - } -} \ No newline at end of file diff --git a/lab1/lab1.pdf b/lab1/lab1.pdf deleted file mode 100644 index 3c875e7..0000000 Binary files a/lab1/lab1.pdf and /dev/null differ diff --git a/lab2/Matrix/.idea/.gitignore b/lab2/Matrix/.idea/.gitignore deleted file mode 100644 index 13566b8..0000000 --- a/lab2/Matrix/.idea/.gitignore +++ /dev/null @@ -1,8 +0,0 @@ -# Default ignored files -/shelf/ -/workspace.xml -# Editor-based HTTP Client requests -/httpRequests/ -# Datasource local storage ignored files -/dataSources/ -/dataSources.local.xml diff --git a/lab2/Matrix/.idea/.name b/lab2/Matrix/.idea/.name deleted file mode 100644 index 002da1d..0000000 --- a/lab2/Matrix/.idea/.name +++ /dev/null @@ -1 +0,0 @@ -Main.java \ No newline at end of file diff --git a/lab2/Matrix/Matrix.iml b/lab2/Matrix/Matrix.iml deleted file mode 100644 index c90834f..0000000 --- a/lab2/Matrix/Matrix.iml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/lab2/Matrix/out/production/Matrix/Main.class b/lab2/Matrix/out/production/Matrix/Main.class deleted file mode 100644 index c898a5c..0000000 Binary files a/lab2/Matrix/out/production/Matrix/Main.class and /dev/null differ diff --git a/lab2/Matrix/src/Main.java b/lab2/Matrix/src/Main.java deleted file mode 100644 index a0c3fbb..0000000 --- a/lab2/Matrix/src/Main.java +++ /dev/null @@ -1,58 +0,0 @@ -import java.util.Arrays; - -public class Main { - public static void main(String[] args) { - byte[][] matrix = {{4, 7, 3}, {4, 7, 6}, {7, 10, 9}}; - - //C5 = 2501 mod 5 = 1, тому C = B^T (транспонування матриці) - //C7 = 2501 mod 7 = 1, тому тип елементів матриці має бути byte - //C11 = 2501 mod 11 = 10, тому треба знайти середнє значення елементів матриці - - // Виконуємо дію з матрицею: транспонування матриці B - byte[][] transposedMatrix = transposeMatrix(matrix); - System.out.println("Transposed matrix: "); - printMatrix(transposedMatrix); - - // Виконуємо дію з матрицею C: знаходимо середнє значення елементів матриці - double average = calculateAverage(transposedMatrix); - System.out.println("Cереднє значення елементів матриці: " + average); - } - - // Метод для транспонування матриці - private static byte[][] transposeMatrix(byte[][] matrix) { - int rows = matrix.length; - int columns = matrix[0].length; - - byte[][] transposedMatrix = new byte[columns][rows]; - - for (int i = 0; i < rows; i++) { - for (int j = 0; j < columns; j++) { - transposedMatrix[j][i] = matrix[i][j]; - } - } - - return transposedMatrix; - } - - // Метод для знаходження середнього значення елементів матриці - private static double calculateAverage(byte[][] matrix) { - int rows = matrix.length; - int columns = matrix[0].length; - - int sum = 0; - for (int i = 0; i < rows; i++) { - for (int j = 0; j < columns; j++) { - sum += matrix[i][j]; - } - } - - return (double) sum / (rows * columns); - } - - // Метод для виведення матриці на екран - private static void printMatrix(byte[][] matrix) { - for (byte[] row : matrix) { - System.out.println(Arrays.toString(row)); - } - } -} diff --git a/lab2/lab2.pdf b/lab2/lab2.pdf deleted file mode 100644 index 92e651c..0000000 Binary files a/lab2/lab2.pdf and /dev/null differ diff --git a/lab3/OperationsStrings/.idea/.gitignore b/lab3/OperationsStrings/.idea/.gitignore deleted file mode 100644 index 13566b8..0000000 --- a/lab3/OperationsStrings/.idea/.gitignore +++ /dev/null @@ -1,8 +0,0 @@ -# Default ignored files -/shelf/ -/workspace.xml -# Editor-based HTTP Client requests -/httpRequests/ -# Datasource local storage ignored files -/dataSources/ -/dataSources.local.xml diff --git a/lab3/OperationsStrings/.idea/.name b/lab3/OperationsStrings/.idea/.name deleted file mode 100644 index 002da1d..0000000 --- a/lab3/OperationsStrings/.idea/.name +++ /dev/null @@ -1 +0,0 @@ -Main.java \ No newline at end of file diff --git a/lab3/OperationsStrings/.idea/misc.xml b/lab3/OperationsStrings/.idea/misc.xml deleted file mode 100644 index 7464918..0000000 --- a/lab3/OperationsStrings/.idea/misc.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/lab3/OperationsStrings/.idea/modules.xml b/lab3/OperationsStrings/.idea/modules.xml deleted file mode 100644 index 32e9116..0000000 --- a/lab3/OperationsStrings/.idea/modules.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/lab3/OperationsStrings/OperationsStrings.iml b/lab3/OperationsStrings/OperationsStrings.iml deleted file mode 100644 index c90834f..0000000 --- a/lab3/OperationsStrings/OperationsStrings.iml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/lab3/OperationsStrings/out/production/OperationsStrings/Main.class b/lab3/OperationsStrings/out/production/OperationsStrings/Main.class deleted file mode 100644 index 97fa6cc..0000000 Binary files a/lab3/OperationsStrings/out/production/OperationsStrings/Main.class and /dev/null differ diff --git a/lab3/OperationsStrings/src/Main.java b/lab3/OperationsStrings/src/Main.java deleted file mode 100644 index e4e71f0..0000000 --- a/lab3/OperationsStrings/src/Main.java +++ /dev/null @@ -1,25 +0,0 @@ -import java.util.HashSet; - -public class Main { - - public static void main(String[] args) { - String inputText = "Who are you? What is your name? Where are you from?"; - int targetLength = 3; - - try { - HashSet uniqueWords = new HashSet(); - String[] sentences = inputText.split("[?]"); - for (String sentence : sentences) { - String[] words = sentence.trim().split("\\s+"); - for (String word : words) { - if (word.length() == targetLength) { - uniqueWords.add(word.toLowerCase()); - } - } - } - System.out.println("Unique words of length " + targetLength + " in the input text are: " + uniqueWords); - } catch (Exception e) { - System.out.println("An error occurred: " + e.getMessage()); - } - } -} diff --git a/lab3/lab3.pdf b/lab3/lab3.pdf deleted file mode 100644 index 12fb76b..0000000 Binary files a/lab3/lab3.pdf and /dev/null differ diff --git a/src/Lab1.java b/src/Lab1.java new file mode 100644 index 0000000..6e7403c --- /dev/null +++ b/src/Lab1.java @@ -0,0 +1,58 @@ +public class Lab1 { + public static void main(String[] args) { +// char c = 'a' + '1'; + char c = 97; +// char c = '1'; + System.out.println(c); + System.out.println((int) c); + c++; + System.out.println(c); + System.out.println((int) c); + System.out.println((double)'1'/'3'); + +// System.out.println( (double) 0 / 0 ); +// System.out.println( Math.sqrt(-1) ); + double s = 0; + /*for (int i = 1; i <= 3; i++) { // 1) ��������� � i = 1, 2) ���� � <= 3, 3) �������� 䳿 � �� �����, + System.out.println(i); // 4) �������������� � �� 1, 5) ����������� �� ����� 2 +// s = s + i; + s += i; + }*/ + /*int[] array = new int[2]; + for (int i = 0; i < array.length; i++) { + + }*/ + final int A = -3; + final int B = 0; + final int N = 2; + final int M = 2; + + final int C = 1; +// boolean wasDivisionByZero = false; +// todo char +// todo[clear code] think about avoiding brackets + if ((A <= -C && -C <= N) || (B <= 0 && 0 <= M)) { + System.out.println("Division by zero!"); + return; + } +/*myLabel:*/for (int i = A; i <= N /*&& !wasDivisionByZero*/; i++) { + /*if (i + C == 0) { // todo optimize + System.out.println("Division by zero!"); + wasDivisionByZero = true; + break; //todo flag vs return; + }*/ + for (int j = B; j <= M; j++) { + /*if (j == 0) { + System.out.println("Division by zero!"); + return; +// wasDivisionByZero = true; +// break myLabel; + }*/ + s += (double) (i / j) / (i + C); + } + } +// if (!wasDivisionByZero) { + System.out.println("s = " + s); +// } + } +} diff --git a/src/Lab2.java b/src/Lab2.java new file mode 100644 index 0000000..56489af --- /dev/null +++ b/src/Lab2.java @@ -0,0 +1,102 @@ +public class Lab2 { + public static void main(String[] args) { + final int A = 2; + final int[][] MATRIX_B = { + {1, 202, 1, 1, 202, 3, 1, 202, 3,}, + {1, 202, 1, 1, 202, 3, 1, 202, 3,}, + {1, 1, 3, 1, 202, 3, 1, 202, 3,}, +// {4, 5, 6,}, + }; + + int[][] MATRIX_C = multiplication(A, MATRIX_B); + + print(MATRIX_C); + + System.out.println("Sum of smallest elements in every column: " + sumOfSmallestElementsInEveryColumn(MATRIX_C)); + + /*int[] array = {1, 2, 3}; + int[] array2 = new int[3]; + Object[] array3 = new String[3]; + System.out.println(array3[0]); //nothing, trash from the memory, null || null + System.out.println(array2[0]); //nothing, trash from the memory, null || 0 + System.out.println(array[0]); // || 1 + + int[][] matrix2 = new int[2][3]; + matrix2[0] = new int[2]; + matrix2[1] = new int[1]; + for (int i = 0; i < array.length; i++) { + if (i % 2 == 0) { + System.out.println("!" + array[i]); + } else { + System.out.println("?" + array[i]); + } + } + + for (int i = 0; i < array.length; i+=2) { + System.out.println("!" + array[i]); + } + + for (int i = 1; i < array.length; i+=2) { + System.out.println("?" + array[i]); + } + +// зубчасті матриці + int[][] matrix = { + {1, 2}, + {3} + }; + +// C=a×B, a - const + + +// final int[][] MATRIX_C = int; + + + MATRIX_B[0][0] = 2; + MATRIX_B[0] = new int[]{1, 2}; + System.out.println(MATRIX_B[0][0]); + MATRIX_B = new int[][]{ + {1, 2}, + {3} + };*/ + } + + private static int sumOfSmallestElementsInEveryColumn(final int[][] MATRIX_C) { +// todo check different length of rows +// todo try to change i and j +// todo check repetition of minimal elements + int sum = 0; + for (int i = 0; i < MATRIX_C[0].length; i++) { + int tmpSmallest = MATRIX_C[0][i]; + for (int j = 1; j < MATRIX_C.length; j++) { + if (MATRIX_C[j][i] < tmpSmallest) { + tmpSmallest = MATRIX_C[j][i]; + } + } + sum += tmpSmallest; + } + return sum; + } + + private static void print(final int[][] MATRIX_C) { + for (int i = 0; i < MATRIX_C.length; i++) { + for (int j = 0; j < MATRIX_C[i].length; j++) { +// System.out.print(MATRIX_C[i][j] + "\t");//printf("%4d", + System.out.printf("%4d ", MATRIX_C[i][j]);//printf("%4d", + } + System.out.println(); + } + } + + private static int[][] multiplication(int A, final int[][] MATRIX_B) { + final int[][] MATRIX_C = new int[MATRIX_B.length][/*MATRIX_B[0].length*/]; // todo !!!DANGER different lengths of rows +// final int[][] MATRIX_C = MATRIX_B; + for (int i = 0; i < MATRIX_B.length; i++) { + MATRIX_C[i] = new int[MATRIX_B[i].length]; + for (int j = 0; j < MATRIX_B[i].length; j++) { + MATRIX_C[i][j] = MATRIX_B[i][j] * A; + } + } + return MATRIX_C; + } +} diff --git a/src/Main.java b/src/Main.java new file mode 100644 index 0000000..01cc396 --- /dev/null +++ b/src/Main.java @@ -0,0 +1,42 @@ +public class Main { + public static void main(String[] args) { + System.out.println(args[2]); + System.out.println("Hello world!"); +// System.out.println(1); + + int a = 1; + int b = 2; + int c = 1; + int d = 1; + + System.out.println(2&1); + System.out.println(2|1); + int aa = 2; + + /*if (aa) { + + }*/ + +// System.out.println("a"&"b"); + System.out.println('a'&'b'); + + if ((a > b) & MyBooleanMethod()) { + System.out.println("?????????????????????????"); + } + + + } + + static boolean MyBooleanMethod() { + System.out.println("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"); + return true; + } + + void myFunction() { + + } + + int myFunction2() { + return 1; + } +} diff --git a/src/encapsulationInheritancePolymorphism/Encapsulation.java b/src/encapsulationInheritancePolymorphism/Encapsulation.java new file mode 100644 index 0000000..aa53da3 --- /dev/null +++ b/src/encapsulationInheritancePolymorphism/Encapsulation.java @@ -0,0 +1,20 @@ +package encapsulationInheritancePolymorphism; + +public class Encapsulation { + /*private*/ int field; + private int field2; +// int a = 1; + + public void myMethodForTheField () { + System.out.println(field); + } + + public void myMethodForTheField2 () { + System.out.println(field); + } + + public void myMethodForTheFieldAndTheField2 () { + System.out.println(field); + } +} + diff --git a/src/encapsulationInheritancePolymorphism/EncapsulationInheritancePolymorphism.java b/src/encapsulationInheritancePolymorphism/EncapsulationInheritancePolymorphism.java new file mode 100644 index 0000000..b7343df --- /dev/null +++ b/src/encapsulationInheritancePolymorphism/EncapsulationInheritancePolymorphism.java @@ -0,0 +1,10 @@ +package encapsulationInheritancePolymorphism; + +public class EncapsulationInheritancePolymorphism { + + public static void main(String[] args) { + int a = 1; +// var b = 2; +// System.out.println(b); + } +} diff --git a/src/encapsulationInheritancePolymorphism/Main.java b/src/encapsulationInheritancePolymorphism/Main.java new file mode 100644 index 0000000..47dc9d3 --- /dev/null +++ b/src/encapsulationInheritancePolymorphism/Main.java @@ -0,0 +1,14 @@ +package encapsulationInheritancePolymorphism; + +public class Main { + public static void main(String[] args) { + Student student = new Student(); + + + + + //... + + student.setFaculty("FPM", "MO-22"); + } +} diff --git a/src/encapsulationInheritancePolymorphism/Student.java b/src/encapsulationInheritancePolymorphism/Student.java new file mode 100644 index 0000000..2ad836d --- /dev/null +++ b/src/encapsulationInheritancePolymorphism/Student.java @@ -0,0 +1,18 @@ +package encapsulationInheritancePolymorphism; + +public class Student { + private String name; + private String surname; + private String group; + private String faculty; + + + public String getName() { + return name; + } + + public void setFaculty(String faculty, String group) { + this.faculty = faculty; + this.group = group; + } +} diff --git a/src/encapsulationInheritancePolymorphism/inheritance/ElectricEngine.java b/src/encapsulationInheritancePolymorphism/inheritance/ElectricEngine.java new file mode 100644 index 0000000..e0852cd --- /dev/null +++ b/src/encapsulationInheritancePolymorphism/inheritance/ElectricEngine.java @@ -0,0 +1,9 @@ +package encapsulationInheritancePolymorphism.inheritance; + +public class ElectricEngine extends Engine { + private String batteryType; + + /*private class Engine { + private int power; + }*/ +} diff --git a/src/encapsulationInheritancePolymorphism/inheritance/Engine.java b/src/encapsulationInheritancePolymorphism/inheritance/Engine.java new file mode 100644 index 0000000..2e315da --- /dev/null +++ b/src/encapsulationInheritancePolymorphism/inheritance/Engine.java @@ -0,0 +1,5 @@ +package encapsulationInheritancePolymorphism.inheritance; + +public class Engine { + private int power; +} diff --git a/src/encapsulationInheritancePolymorphism/inheritance/FuelEngine.java b/src/encapsulationInheritancePolymorphism/inheritance/FuelEngine.java new file mode 100644 index 0000000..482b600 --- /dev/null +++ b/src/encapsulationInheritancePolymorphism/inheritance/FuelEngine.java @@ -0,0 +1,5 @@ +package encapsulationInheritancePolymorphism.inheritance; + +public class FuelEngine extends Engine { + private String fuelType; +} diff --git a/src/encapsulationInheritancePolymorphism/inheritance/Main.java b/src/encapsulationInheritancePolymorphism/inheritance/Main.java new file mode 100644 index 0000000..6e7e717 --- /dev/null +++ b/src/encapsulationInheritancePolymorphism/inheritance/Main.java @@ -0,0 +1,8 @@ +package encapsulationInheritancePolymorphism.inheritance; + +public class Main { + public static void main(String[] args) { + ElectricEngine electricEngine = new ElectricEngine(); // створення нового об'єкту (екземпляру) класу ElectricEngine + FuelEngine fuelEngine = new FuelEngine(); + } +} diff --git a/src/encapsulationInheritancePolymorphism/polymorphism/ElectricEngine.java b/src/encapsulationInheritancePolymorphism/polymorphism/ElectricEngine.java new file mode 100644 index 0000000..85520e0 --- /dev/null +++ b/src/encapsulationInheritancePolymorphism/polymorphism/ElectricEngine.java @@ -0,0 +1,14 @@ +package encapsulationInheritancePolymorphism.polymorphism; + +public class ElectricEngine extends Engine { + private String batteryType; + + @Override + public int getPower() { + return 20; + } + + /*private class Engine { + private int power; + }*/ +} diff --git a/src/encapsulationInheritancePolymorphism/polymorphism/Engine.java b/src/encapsulationInheritancePolymorphism/polymorphism/Engine.java new file mode 100644 index 0000000..074855b --- /dev/null +++ b/src/encapsulationInheritancePolymorphism/polymorphism/Engine.java @@ -0,0 +1,9 @@ +package encapsulationInheritancePolymorphism.polymorphism; + +public class Engine { + private int power; + + public int getPower() { + return power; + } +} diff --git a/src/encapsulationInheritancePolymorphism/polymorphism/FuelEngine.java b/src/encapsulationInheritancePolymorphism/polymorphism/FuelEngine.java new file mode 100644 index 0000000..151870d --- /dev/null +++ b/src/encapsulationInheritancePolymorphism/polymorphism/FuelEngine.java @@ -0,0 +1,10 @@ +package encapsulationInheritancePolymorphism.polymorphism; + +public class FuelEngine extends Engine { + private String fuelType; + + @Override + public int getPower() { + return 50; + } +} diff --git a/src/encapsulationInheritancePolymorphism/polymorphism/Main.java b/src/encapsulationInheritancePolymorphism/polymorphism/Main.java new file mode 100644 index 0000000..6be81c0 --- /dev/null +++ b/src/encapsulationInheritancePolymorphism/polymorphism/Main.java @@ -0,0 +1,38 @@ +package encapsulationInheritancePolymorphism.polymorphism; + +/*import encapsulationInheritancePolymorphism.inheritance.ElectricEngine; +import encapsulationInheritancePolymorphism.inheritance.FuelEngine;*/ + +public class Main { + public static void main(String[] args) { + /*encapsulationInheritancePolymorphism.inheritance.*/ElectricEngine electricEngine = new ElectricEngine(); // створення нового об'єкту (екземпляру) класу ElectricEngine + /*encapsulationInheritancePolymorphism.inheritance.*/FuelEngine fuelEngine = new FuelEngine(); + + Engine engine1 = fuelEngine; + + Engine[] engines = { + electricEngine, + fuelEngine + }; + + for (Engine engine : engines) { + System.out.println(engine.getPower()); + } + + /*for (int i = 0; i < engines.length; i++) { + System.out.println(engines[i].getPower()); + }*/ + +// + + int a = 1; + int b = 1; + int c = a + b; + System.out.println(c); + + + String sA = "1"; + String sB = "1"; + String sC = sA + sB; + System.out.println(sC); + } +} diff --git a/src/encapsulationInheritancePolymorphism/polymorphism/enhanced/ElectricEngine.java b/src/encapsulationInheritancePolymorphism/polymorphism/enhanced/ElectricEngine.java new file mode 100644 index 0000000..1d6db51 --- /dev/null +++ b/src/encapsulationInheritancePolymorphism/polymorphism/enhanced/ElectricEngine.java @@ -0,0 +1,19 @@ +package encapsulationInheritancePolymorphism.polymorphism.enhanced; + +public class ElectricEngine extends Engine { + private String batteryType; + private int chargeLevel = 9; + private int criticalChargeLevel = 10; + private float coefficientCriticalPowerCut = 0.1f; + + @Override + public int getPower() { + return chargeLevel > criticalChargeLevel + ? super.getPower() + : (int) (super.getPower() * coefficientCriticalPowerCut); + } + + /*private class Engine { + private int power; + }*/ +} diff --git a/src/encapsulationInheritancePolymorphism/polymorphism/enhanced/Engine.java b/src/encapsulationInheritancePolymorphism/polymorphism/enhanced/Engine.java new file mode 100644 index 0000000..310f9ce --- /dev/null +++ b/src/encapsulationInheritancePolymorphism/polymorphism/enhanced/Engine.java @@ -0,0 +1,9 @@ +package encapsulationInheritancePolymorphism.polymorphism.enhanced; + +public class Engine { + private int power = 100; + + public int getPower() { + return power; + } +} diff --git a/src/encapsulationInheritancePolymorphism/polymorphism/enhanced/FuelEngine.java b/src/encapsulationInheritancePolymorphism/polymorphism/enhanced/FuelEngine.java new file mode 100644 index 0000000..ad07d84 --- /dev/null +++ b/src/encapsulationInheritancePolymorphism/polymorphism/enhanced/FuelEngine.java @@ -0,0 +1,10 @@ +package encapsulationInheritancePolymorphism.polymorphism.enhanced; + +public class FuelEngine extends Engine { + private String fuelType; + + /*public int getPower() { + return 50; + }*/ + +} diff --git a/src/encapsulationInheritancePolymorphism/polymorphism/enhanced/Main.java b/src/encapsulationInheritancePolymorphism/polymorphism/enhanced/Main.java new file mode 100644 index 0000000..dcec9b1 --- /dev/null +++ b/src/encapsulationInheritancePolymorphism/polymorphism/enhanced/Main.java @@ -0,0 +1,28 @@ +package encapsulationInheritancePolymorphism.polymorphism.enhanced; + +/*import encapsulationInheritancePolymorphism.inheritance.ElectricEngine; +import encapsulationInheritancePolymorphism.inheritance.FuelEngine;*/ + +public class Main { + public static void main(String[] args) { + /*encapsulationInheritancePolymorphism.inheritance.*/ + ElectricEngine electricEngine = new ElectricEngine(); // створення нового об'єкту (екземпляру) класу ElectricEngine + /*encapsulationInheritancePolymorphism.inheritance.*/ + FuelEngine fuelEngine = new FuelEngine(); + + Engine engine1 = fuelEngine; + + Engine[] engines = { + electricEngine, + fuelEngine + }; + + for (Engine engine : engines) { + System.out.println(engine.getPower()); + } + + /*for (int i = 0; i < engines.length; i++) { + System.out.println(engines[i].getPower()); + }*/ + } +} diff --git a/src/encapsulationInheritancePolymorphism/polymorphism/overload/MyClassForOverloadExample.java b/src/encapsulationInheritancePolymorphism/polymorphism/overload/MyClassForOverloadExample.java new file mode 100644 index 0000000..7eeb4b7 --- /dev/null +++ b/src/encapsulationInheritancePolymorphism/polymorphism/overload/MyClassForOverloadExample.java @@ -0,0 +1,17 @@ +package encapsulationInheritancePolymorphism.polymorphism.overload; + +public class MyClassForOverloadExample { + void myMethod(int a) { + System.out.println("Integer: " + a); + } + + void myMethod(double a) { + System.out.println("Double: " + a); + } + + public static void main(String[] args) { + MyClassForOverloadExample overload = new MyClassForOverloadExample(); + overload.myMethod(1); + overload.myMethod(0.1); + } +} diff --git a/src/test/A.java b/src/test/A.java new file mode 100644 index 0000000..8553a5e --- /dev/null +++ b/src/test/A.java @@ -0,0 +1,13 @@ +package test; + +public class A { + /*private*/ int f/* = 3*/; + + public int getF() { + return f; + } + + public void setF(int f) { + this.f = f; + } +} diff --git a/src/test/Main.java b/src/test/Main.java new file mode 100644 index 0000000..bf9f4b3 --- /dev/null +++ b/src/test/Main.java @@ -0,0 +1,15 @@ +package test; + +public class Main { + public static void main(String[] args) { + A a = new A(); + System.out.println(a.getF()); + a.setF(1); + System.out.println(a.getF()); + + System.out.println(a.f); + + int[] array = {1, 2, 1}; + System.out.println(array.length); + } +}