Compare commits

...

13 Commits

Author SHA1 Message Date
cvoluj
3cd448eeda added lab 1, lab 2 2023-04-05 21:14:30 +03:00
Oleksii Aleshchenko
81ac59840f Revert "Done lab 1-3"
This reverts commit 29e63163a4.
2023-04-04 22:33:00 +03:00
Oleksii Aleshchenko
1e6825d7d4 Revert "Delete lab1 directory"
This reverts commit 1af299f8f7.
2023-04-04 22:32:47 +03:00
Oleksii Aleshchenko
4087daef02 Revert "Delete lab2 directory"
This reverts commit 3bbb7c8e54.
2023-04-04 22:32:36 +03:00
Oleksii Aleshchenko
31ba116ad8 Revert "Delete lab3 directory"
This reverts commit 6fc3cc244e.
2023-04-04 22:32:00 +03:00
xivihwa
6fc3cc244e Delete lab3 directory 2023-04-04 17:44:45 +03:00
xivihwa
3bbb7c8e54 Delete lab2 directory 2023-04-04 17:44:38 +03:00
xivihwa
1af299f8f7 Delete lab1 directory 2023-04-04 17:44:30 +03:00
xivihwa
4924bbe62f Merge pull request #2 from ASDjonok/ІО-25/01-Антоненко-Віолетта-Станіславівна
Done lab 1-3
2023-04-04 17:41:26 +03:00
xivihwa
29e63163a4 Done lab 1-3 2023-04-04 17:40:44 +03:00
Oleksii Aleshchenko
399941844f update lab2 2023-03-30 15:50:18 +03:00
Oleksii Aleshchenko
f385bff73d update lab2 2023-03-30 15:29:02 +03:00
Oleksii Aleshchenko
6d8171ad4c update lab2 2023-03-23 16:04:49 +02:00
25 changed files with 294 additions and 398 deletions

2
.idea/misc.xml generated
View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project version="4"> <project version="4">
<component name="ProjectRootManager" version="2" languageLevel="JDK_18" default="true" project-jdk-name="openjdk-18" project-jdk-type="JavaSDK"> <component name="ProjectRootManager" version="2" languageLevel="JDK_19" default="true" project-jdk-name="openjdk-18" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/out" /> <output url="file://$PROJECT_DIR$/out" />
</component> </component>
</project> </project>

View File

@@ -1,58 +0,0 @@
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) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> i = 1, 2) <20><><EFBFBD><EFBFBD> <20> <= 3, 3) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 䳿 <20> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>,
System.out.println(i); // 4) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><> 1, 5) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> 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);
// }
}
}

140
src/Lab1/Lab1.java Normal file
View File

@@ -0,0 +1,140 @@
package Lab1;
import java.util.InputMismatchException;
import java.util.Scanner;
public class Lab1 {
public static void main(String[] args) {
int C2, C3, C5, C7; // creating variables
int numBook = 2401; // default value of scorebook
Scanner sc = new Scanner(System.in); // scanner creating for inputing values from keyboard
System.out.println("By default number of scorebook is 2401. \nEnter to skip or input new value: ");
String input = sc.nextLine();
if (!input.equals("")) { // try-catch for checking correct inputing of value
try {
numBook = Math.abs(Integer.parseInt(input)); // scorebook can be only unsigned
} catch (NumberFormatException e) {
System.out.println("Invalid input. Using default value 2401"); // printing that will be used default value
}
}
String[] operations1 = {"+", "-"};//
String[] operations2 = {"*", "/", "%", "+", "-"}; // String array for choosing operations
String[] operations3 = {"byte", "short", "int", "long", "char", "float", "double"}; //
// determining variables
C2 = numBook % 2;
C3 = numBook % 3;
C5 = numBook % 5;
C7 = numBook % 7;
String O1 = operations1[C2];
int C = C3;
String O2 = operations2[C5];
String O3 = operations3[C7];
System.out.println("C2 is: " + C2 + ", operation is: " + O1); //
System.out.println("C3 is: " + C); // printing parameters that user got
System.out.println("C5 is: " + C5 + ", operation is: " + O2); //
System.out.println("C7 is: " + C7 + ", Type of indexes i and j is: " + O3); //
Number i = 0; // creating objects i j of (abstract)superclass Number
Number j = 0; //
System.out.println("\nEnter a value for i and j in the " + O3 + " type: ");
switch (O3) { // Choosing type of i and j by C7
case "byte" -> {
try {
i = sc.nextByte();
j = sc.nextByte();
} catch (InputMismatchException e) {
System.out.println("Invalid input. Please enter a valid byte value.");
sc.nextLine();
}
}
case "short" -> {
i = sc.nextShort();
j = sc.nextShort();
}
case "int" -> {
i = sc.nextInt();
j = sc.nextInt();
}
case "long" -> {
i = sc.nextLong();
j = sc.nextLong();
}
case "char" -> {
System.out.println("Read only first character!");
i = (int) sc.next().charAt(0);
j = (int) sc.next().charAt(0);
}
case "float" -> {
i = sc.nextFloat();
j = sc.nextFloat();
}
case "double" -> {
i = sc.nextDouble();
j = sc.nextDouble();
}
}
System.out.println("The value of the created variables is: " + i + " and " + j);
class Sum { // creating class Sum
int n, m;
double i, j;
public Sum(double i, double j, int n, int m) { // Constructor to initialize all variables
this.i = i;
this.j = j;
this.n = n;
this.m = m;
}
public void calc() { // create method for our class
double sum = 0, result = 0, result2 = 0;
if ((O1.equals("-") && i + n >= C && i <= C) || (C == 0 && i == 0)) { // exclude situations
System.out.println("dividing by zero!"); // with dividing by 0
} else if (i > n || j > m) {
System.out.println("i or j greater than n or m");
} else {
for (double b = i; b <= n; b++) {
for (double a = j; a <= m; a++) {
switch (O2) {
case "+" -> result = b + a;
case "-" -> result = b - a;
case "*" -> result = b * a;
case "/" -> result = b / a;
case "%" -> result = b % a;
}
switch (O1) {
case "+" -> result2 = b + C;
case "-" -> result2 = b - C;
}
sum += result / result2;
}
}
System.out.println("Sum is: " + sum);
}
}
}
System.out.print("Enter value for n and m: \n");
int n = sc.nextInt();
int m = sc.nextInt();
Sum sum = new Sum(i.doubleValue(), j.doubleValue(), n, m); // creating new instance of Sum class
// .doubleValue() converting our variables to double
sum.calc();
sc.close();
}
}

View File

@@ -1,26 +0,0 @@
public class Lab2 {
public static void main(String[] args) {
int[] array = {1, 2, 3};
/*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}
};
}
}

153
src/Lab2/Lab2.java Normal file
View File

@@ -0,0 +1,153 @@
package Lab2;
import java.util.Scanner;
import java.util.Random;
public class Lab2 {
public static void main(String[] args) {
final int C5, C7, C11, NumBook;
NumBook = 2401;
C5 = NumBook % 5;
C7 = NumBook % 7;
C11 = NumBook % 11;
System.out.println("-----------------------------------------------------");
System.out.println("C5 is: " + C5 + " - act with martix is C=Bт");
System.out.println("C7 is: " + C7 + " - type of elements is double");
System.out.println("C11 is: " + C11 + " - calculate the sum of the largest elements\n" +
"of each row of the matrix");
System.out.println("-----------------------------------------------------");
int Mside = 0;
int Nside = 0;
int Choose;
double MaxSum = 0;
Random rand = new Random();
Scanner sc = new Scanner(System.in);
while (true) {
try {
System.out.print("Enter random or handle input(1 or 0): ");
Choose = Math.abs(Integer.parseInt(sc.nextLine()));
if (Choose == 1 || Choose == 0) {
break;
}
} catch (NumberFormatException e) {
System.out.println("Invalid input. Please enter an integer.");
}
}
while (true) {
try {
System.out.print("Enter number of rows: ");
Mside = Math.abs(Integer.parseInt(sc.nextLine()));
if (Mside <= 0) {
System.out.println("Invalid input. Number of rows must be greater than 0");
} else {
break;
}
} catch (NumberFormatException e) {
System.out.println("Invalid input. Please enter an integer.");
}
}
while (true) {
try {
System.out.print("Enter number of columns: ");
Nside = Math.abs(Integer.parseInt(sc.nextLine()));
if (Nside <= 0) {
System.out.println("Invalid input. Number of columns must be greater than 0");
} else {
break;
}
} catch (NumberFormatException e) {
System.out.println("Invalid input. Please enter an integer.");
}
}
final int lenghtMaxElements = 5;
double[][] CArray = new double[Mside][Nside];
double[][] TransposedArray = new double[Nside][Mside];
double[][] MaxElements = new double[Nside][lenghtMaxElements];
if (Choose == 1) {
for (int i = 0; i < Mside; i++) {
for (int j = 0; j < Nside; j++) {
CArray[i][j] = rand.nextDouble(-100, 100);
}
}
}
if (Choose == 0) {
for (int i = 0; i < Mside; i++) {
for (int j = 0; j < Nside; j++) {
while (true) {
try {
System.out.printf("Enter the element at position (%d,%d): ", i + 1, j + 1);
CArray[i][j] = Double.parseDouble(sc.nextLine());
break;
} catch (NumberFormatException e) {
System.out.println("Invalid input. Please enter a valid number.");
}
}
}
}
}
for (int i = 0; i < Mside; i++) {
for (int j = 0; j < Nside; j++) {
System.out.printf("%8.2f", CArray[i][j]);
}
System.out.println();
}
for (int i = 0; i < Nside; i++) {
for (int j = 0; j < Mside; j++) {
TransposedArray[i][j] = CArray[j][i];
}
}
System.out.println("Transposed array is:");
int row, cols;
for (row = 0; row < Nside; row++) {
for (cols = 0; cols < Mside; cols++) {
System.out.printf("%8.2f", TransposedArray[row][cols]);
}
System.out.println();
}
for (int i = 0; i < Nside; i++) {
MaxElements[i][0] = TransposedArray[i][0];
for (int j = 1; j < Mside; j++) {
MaxElements[i][1] = i;
if (TransposedArray[i][j] > MaxElements[i][0]) {
MaxElements[i][0] = TransposedArray[i][j];
MaxElements[i][2] = j;
} else if (TransposedArray[i][j] == MaxElements[i][0]) {
MaxElements[i][3] = MaxElements[i][0];
MaxElements[i][4] = 1;
}
}
//System.out.println(MaxElements[i][0] +" "+ MaxElements[i][1] +" "+ MaxElements[i][2] + " " + MaxElements[i][3] + " " + MaxElements[i][4]);
//code i used for debug
}
System.out.println("Max elements for each row:");
if (Mside == 1) {
System.out.println("I can`t find max element for mx1 matrix");
} else {
for (int i = 0; i < Nside; i++) {
if (MaxElements[i][0] == MaxElements[i][3] && MaxElements[i][4] == 1) {
System.out.printf("In row %1.0f does not exist a max element\n", MaxElements[i][1] + 1);
} else {
System.out.printf("%8.2f is max value and his coordinate: (%1.0f, %1.0f)\n", MaxElements[i][0], MaxElements[i][1] + 1, MaxElements[i][2] + 1);
MaxSum += MaxElements[i][0];
}
}
System.out.printf("Sum of elements with max values is: %.2f\n", MaxSum);
}
}
}

View File

@@ -1,42 +0,0 @@
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;
}
}

View File

@@ -1,20 +0,0 @@
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);
}
}

View File

@@ -1,10 +0,0 @@
package encapsulationInheritancePolymorphism;
public class EncapsulationInheritancePolymorphism {
public static void main(String[] args) {
int a = 1;
// var b = 2;
// System.out.println(b);
}
}

View File

@@ -1,14 +0,0 @@
package encapsulationInheritancePolymorphism;
public class Main {
public static void main(String[] args) {
Student student = new Student();
//...
student.setFaculty("FPM", "MO-22");
}
}

View File

@@ -1,18 +0,0 @@
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;
}
}

View File

@@ -1,9 +0,0 @@
package encapsulationInheritancePolymorphism.inheritance;
public class ElectricEngine extends Engine {
private String batteryType;
/*private class Engine {
private int power;
}*/
}

View File

@@ -1,5 +0,0 @@
package encapsulationInheritancePolymorphism.inheritance;
public class Engine {
private int power;
}

View File

@@ -1,5 +0,0 @@
package encapsulationInheritancePolymorphism.inheritance;
public class FuelEngine extends Engine {
private String fuelType;
}

View File

@@ -1,8 +0,0 @@
package encapsulationInheritancePolymorphism.inheritance;
public class Main {
public static void main(String[] args) {
ElectricEngine electricEngine = new ElectricEngine(); // створення нового об'єкту (екземпляру) класу ElectricEngine
FuelEngine fuelEngine = new FuelEngine();
}
}

View File

@@ -1,14 +0,0 @@
package encapsulationInheritancePolymorphism.polymorphism;
public class ElectricEngine extends Engine {
private String batteryType;
@Override
public int getPower() {
return 20;
}
/*private class Engine {
private int power;
}*/
}

View File

@@ -1,9 +0,0 @@
package encapsulationInheritancePolymorphism.polymorphism;
public class Engine {
private int power;
public int getPower() {
return power;
}
}

View File

@@ -1,10 +0,0 @@
package encapsulationInheritancePolymorphism.polymorphism;
public class FuelEngine extends Engine {
private String fuelType;
@Override
public int getPower() {
return 50;
}
}

View File

@@ -1,38 +0,0 @@
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);
}
}

View File

@@ -1,19 +0,0 @@
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;
}*/
}

View File

@@ -1,9 +0,0 @@
package encapsulationInheritancePolymorphism.polymorphism.enhanced;
public class Engine {
private int power = 100;
public int getPower() {
return power;
}
}

View File

@@ -1,10 +0,0 @@
package encapsulationInheritancePolymorphism.polymorphism.enhanced;
public class FuelEngine extends Engine {
private String fuelType;
/*public int getPower() {
return 50;
}*/
}

View File

@@ -1,28 +0,0 @@
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());
}*/
}
}

View File

@@ -1,17 +0,0 @@
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);
}
}

View File

@@ -1,13 +0,0 @@
package test;
public class A {
/*private*/ int f/* = 3*/;
public int getF() {
return f;
}
public void setF(int f) {
this.f = f;
}
}

View File

@@ -1,15 +0,0 @@
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);
}
}