mirror of
https://github.com/ASDjonok/OOP_IO-2x_2023.git
synced 2026-04-08 07:31:50 +03:00
Compare commits
1 Commits
3cd448eeda
...
IO-20/00-А
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
860a447ff9 |
2
.idea/misc.xml
generated
2
.idea/misc.xml
generated
@@ -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_19" default="true" project-jdk-name="openjdk-18" project-jdk-type="JavaSDK">
|
<component name="ProjectRootManager" version="2" languageLevel="JDK_18" 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>
|
||||||
@@ -1,140 +0,0 @@
|
|||||||
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();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,153 +0,0 @@
|
|||||||
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);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
15
src/Main.java
Normal file
15
src/Main.java
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
public class Main {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
System.out.println(args[0]);
|
||||||
|
System.out.println("Hello world!");
|
||||||
|
// System.out.println(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
void myFunction() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
int myFunction2() {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
20
src/encapsulationInheritancePolymorphism/Encapsulation.java
Normal file
20
src/encapsulationInheritancePolymorphism/Encapsulation.java
Normal file
@@ -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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@@ -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);
|
||||||
|
}
|
||||||
|
}
|
||||||
14
src/encapsulationInheritancePolymorphism/Main.java
Normal file
14
src/encapsulationInheritancePolymorphism/Main.java
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
package encapsulationInheritancePolymorphism;
|
||||||
|
|
||||||
|
public class Main {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
Student student = new Student();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//...
|
||||||
|
|
||||||
|
student.setFaculty("FPM", "MO-22");
|
||||||
|
}
|
||||||
|
}
|
||||||
18
src/encapsulationInheritancePolymorphism/Student.java
Normal file
18
src/encapsulationInheritancePolymorphism/Student.java
Normal file
@@ -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;
|
||||||
|
}
|
||||||
|
}
|
||||||
13
src/test/A.java
Normal file
13
src/test/A.java
Normal file
@@ -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;
|
||||||
|
}
|
||||||
|
}
|
||||||
15
src/test/Main.java
Normal file
15
src/test/Main.java
Normal file
@@ -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);
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user