Compare commits

..

7 Commits

Author SHA1 Message Date
mayfff
2874cce9b6 Create SixthLab.java 2023-02-23 15:23:07 +02:00
mayfff
0ec39254b8 Create FifthLab.java 2023-02-23 15:20:58 +02:00
mayfff
d7edabbf00 Create FourthLab.java 2023-02-23 15:19:54 +02:00
mayfff
71b6763c9d Create Airplane.java 2023-02-23 15:18:47 +02:00
mayfff
33f8aa39e1 Create ThirdLab.java 2023-02-23 15:15:35 +02:00
mayfff
f70028323e Create SecondLab.java 2023-02-23 15:14:15 +02:00
mayfff
bcb73f3a13 Create FirstLab.java 2023-02-23 15:13:12 +02:00
17 changed files with 600 additions and 294 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_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>

View File

@@ -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();
}
}

View File

@@ -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
View File

@@ -0,0 +1,15 @@
public class Main {
public static void main(String[] args) {
System.out.println(args[2]);
System.out.println("Hello world!");
// System.out.println(1);
}
void myFunction() {
}
int myFunction2() {
return 1;
}
}

View File

@@ -0,0 +1,30 @@
import java.util.Scanner;
public class FirstLab {
public static void main(String[] args) {
Scanner scn = new Scanner(System.in);
final int C = 0;
double S = 0.0;
System.out.print("Enter a: ");
int a = scn.nextInt();
System.out.print("Enter b: ");
int b = scn.nextInt();
System.out.print("Enter n: ");
int n = scn.nextInt();
System.out.print("Enter m: ");
int m = scn.nextInt();
if ((a <= 0 & n >= 0) | (b <= 0 & m >= 0)){
System.out.println("Division by 0!");
} else {
for (char i = (char) a; i <= n; i++) {
for(char j = (char) b; j <= m; j++) {
S += (double) (i % j) / (i + C);
}
}
System.out.printf("Result - %.3f", S);
}
scn.close();
}
}

View File

@@ -0,0 +1,63 @@
import java.util.Scanner;
import java.util.Random;
public class SecondLab {
public static void main(String[] args) {
Scanner scn = new Scanner(System.in);
Random rnd = new Random();
System.out.print("Enter number of rows in matrix A: ");
int mA = scn.nextInt();
System.out.print("Enter the number of columns in matrix A: ");
int nA = scn.nextInt();
System.out.print("Enter number of rows in matrix B: ");
int mB = scn.nextInt();
System.out.print("Enter the number of columns in matrix B: ");
int nB = scn.nextInt();
long largest, sum = 0L;
if(mA != mB || nA != nB) {
System.out.println("Unable to add matrices!");
} else {
long[][] matrixA = new long[mA][nA];
long[][] matrixB = new long[mB][nB];
long[][] matrixC = new long[mA][nA];
System.out.println("Matrix A: ");
for(int i = 0; i < mA; i++) {
for(int j = 0; j < nA; j++) {
matrixA[i][j] = rnd.nextLong(10, 50) + 10;
System.out.printf("|%d", matrixA[i][j]);
}
System.out.println("|");
}
System.out.println("Matrix B: ");
for(int i = 0; i < nA; i++) {
for(int j = 0; j < nB; j++) {
matrixB[i][j] = rnd.nextLong(10, 50) + 10;
System.out.printf("|%d", matrixB[i][j]);
}
System.out.println("|");
}
System.out.println("Matrix C: ");
for(int i = 0; i < mA; i++) {
for(int j = 0; j < nA; j++) {
matrixC[i][j] = matrixA[i][j] + matrixB[i][j];
System.out.printf("|%d", matrixC[i][j]);
}
System.out.println("|");
}
for(long[] row: matrixC) {
largest = row[0];
for(long elem : row) {
if(elem > largest) {
largest = elem;
}
}
sum += largest;
}
System.out.printf("Sum = %d", sum);
}
scn.close();
}
}

View File

@@ -0,0 +1,33 @@
import java.util.Scanner;
public class ThirdLab {
public static void main(String[] args) {
Scanner scn = new Scanner(System.in);
System.out.print("Enter a string: ");
String text = scn.nextLine();
StringBuilder textBuilder = new StringBuilder(text);
System.out.print("Enter a string to replace the words: ");
String replace = scn.nextLine();
System.out.print("Enter the length of the words to replace: ");
int length = scn.nextInt();
String[] words = textBuilder.toString().split("\\s+");
textBuilder.setLength(0);
for(String word : words) {
if(word.charAt(word.length()-1) == '.' && word.length() - 1 == length) {
textBuilder.append(replace + ". ");
} else if (word.charAt(word.length() - 1) == '!' && word.length() - 1 == length) {
textBuilder.append(replace + "! ");
} else if (word.charAt(word.length() - 1) == '?' && word.length() - 1 == length) {
textBuilder.append(replace + "? ");
} else if (word.length() == length) {
textBuilder.append(replace + " ");
} else {
textBuilder.append(word + " ");
}
}
System.out.printf("Result: %s", textBuilder);
scn.close();
}
}

View File

@@ -0,0 +1,59 @@
import java.util.Comparator;
public class Airplane {
private String name;
private String type;
private int weight;
private int amountOfEngines;
private int year;
private String color;
private int capacity;
private int price;
public Airplane(String name, String type, int weight, int amountOfEngines, int year, String color, int capacity, int price) {
this.name = name;
this.type = type;
this.weight = weight;
this.amountOfEngines = amountOfEngines;
this.year = year;
this.color = color;
this.capacity = capacity;
this.price = price;
}
public int getPrice() {
return price;
}
public int getYear() {
return year;
}
@Override
public String toString() {
return "Plane : " +
"name = " + name +
", type = " + type +
", weight = " + weight + " tons" +
", amount of engines = " + amountOfEngines +
", year = " + year +
", color = " + color +
", capacity = " + capacity +
", price = " + price + " millions dollars.";
}
}
class SortByPrice implements Comparator<Airplane> {
public int compare(Airplane a, Airplane b) {
return a.getPrice() - b.getPrice();
}
}
class SortByYear implements Comparator<Airplane> {
public int compare(Airplane a, Airplane b) {
return a.getYear() - b.getYear();
}
}

View File

@@ -0,0 +1,32 @@
import java.util.Arrays;
public class FourthLab {
public static void main(String[] args) {
final Airplane plane1 = new Airplane("Boeing 747", "passenger", 180, 4, 1970, "Lightblue", 467, 70);
final Airplane plane2 = new Airplane("Airbus A380", "passenger", 575, 4, 2003, "Orange", 850, 389);
final Airplane plane3 = new Airplane("General Dynamics F-16", "military", 9, 1, 1974, "Grey", 1, 45);
final Airplane plane4 = new Airplane("Boeing C-17 Globemaster III", "cargo", 130, 4, 1995, "Grey", 102, 340);
final Airplane plane5 = new Airplane("An-225 Mriya", "cargo", 285, 6, 1990, "White", 20, 500);
Airplane[] planes = {plane1, plane2, plane3, plane4, plane5};
System.out.println("List of planes: ");
for(Airplane plane : planes) {
System.out.println(plane);
}
System.out.println();
Arrays.sort(planes, new SortByPrice());
System.out.println("Sorted by price: ");
for(Airplane plane : planes) {
System.out.println(plane);
}
System.out.println();
Arrays.sort(planes, new SortByYear().reversed());
System.out.println("Sorted by year: ");
for(Airplane plane : planes) {
System.out.println(plane);
}
}
}

View File

@@ -0,0 +1,139 @@
import java.util.Scanner;
public class FifthLab {
public static void main(String[] args) {
Scanner scn = new Scanner(System.in);
System.out.println("Enter a string: ");
String text = scn.nextLine();
StringBuilder textBuilder = new StringBuilder(text);
StringBuilder result = new StringBuilder();
System.out.print("Enter a string to replace the words: ");
String replace = scn.nextLine();
System.out.print("Enter the length of the words to replace: ");
int length = scn.nextInt();
System.out.println("\nText before changes: ");
System.out.println(textBuilder);
String[] mySentence = textBuilder.toString().split("(?<=[!.?])\\s?");
for(String s: mySentence) {
StringBuilder sb = new StringBuilder(s);
Sentence sentence = new Sentence(sb, length, replace);
result.append(sentence.wordsSplit());
}
System.out.println("\nText after changes: ");
System.out.println(result);
scn.close();
}
}
class Sentence {
private final StringBuilder sentence;
private final int length;
private final String replace;
public Sentence(StringBuilder sentence, int length, String replace) {
this.sentence = sentence;
this.length = length;
this.replace = replace;
}
public StringBuilder wordsSplit() {
StringBuilder ReturnSentence = new StringBuilder();
String text = sentence.toString();
String[] words = text.split(" ");
for(String s: words) {
StringBuilder sb = new StringBuilder(s);
Word word = new Word(sb, length, replace);
ReturnSentence.append(word.lettersSplit()).append(" ");
}
return ReturnSentence;
}
}
class Word {
private final StringBuilder word;
private final int length;
private final String replace;
public Word(StringBuilder word, int length, String replace) {
this.word = word;
this.length = length;
this.replace = replace;
}
public StringBuilder lettersSplit() {
StringBuilder ReturnWord = new StringBuilder();
String wordstr = word.toString();
int len = wordstr.length();
String[] letters = wordstr.split("");
String[] ReplaceLetters = replace.split("");
char last = wordstr.charAt(word.length() - 1);
if(last == '!' || last == '?' || last == '.') {
if(wordstr.charAt(word.length() - 2) == '.') {
len = wordstr.length() - 3;
} else {
len = wordstr.length() - 1;
}
}
if(len == length) {
for(String chr: ReplaceLetters) {
StringBuilder ltr = new StringBuilder(chr);
Letter letter = new Letter(ltr);
ReturnWord.append(letter.getLetter());
}
if(wordstr.length() - len == 1) {
ReturnWord.append(wordstr.charAt(wordstr.length() - 1));
} else if(wordstr.length() - len == 3) {
ReturnWord.append("...");
}
} else {
for(String chr: letters) {
StringBuilder ltr = new StringBuilder(chr);
if(chr.equals("!") || chr.equals("?") || chr.equals(".") || chr.equals(",") || chr.equals(":") || chr.equals(";")) {
Punctuation punctuation = new Punctuation(ltr);
ReturnWord.append(punctuation.getPunctuation());
} else {
Letter letter = new Letter(ltr);
ReturnWord.append(letter.getLetter());
}
}
}
return ReturnWord;
}
}
class Letter {
private final StringBuilder letter;
public Letter(StringBuilder letter) {
this.letter = letter;
}
public StringBuilder getLetter() {
return letter;
}
}
class Punctuation {
private final StringBuilder punctuation;
public Punctuation(StringBuilder punctuation) {
this.punctuation = punctuation;
}
public StringBuilder getPunctuation() {
return punctuation;
}
}

View File

@@ -0,0 +1,138 @@
import java.util.Scanner;
import java.util.Arrays;
import java.util.Comparator;
public class SixthLab {
public static int sumOfPassangers(Train[] trains) {
int sum = 0;
for (Train train: trains) {
sum += train.getCapacity();
}
return sum;
}
public static float sumOfLuggage(Train[] trains) {
float sum = 0.0f;
for (Train train: trains) {
sum += train.getLuggage();
}
return sum;
}
public static void main(String[] args) {
Scanner scn = new Scanner(System.in);
Intercity intercity = new Intercity(2, "intercity", 57, 2.0f);
SV sv = new SV(3, "sv", 20, 1.3f);
Compartment compartment = new Compartment(2, "compartment", 40, 2.5f);
Plackart plackart = new Plackart(1, "plackart", 52, 1.8f);
Train[] trainCars = {intercity, sv, compartment, plackart};
System.out.println("List of train cars: ");
for (Train car: trainCars) {
System.out.println(car);
}
Arrays.sort(trainCars, new sortByComfort());
System.out.println("\nSorted list by comfort level: ");
for (Train car: trainCars) {
System.out.println(car);
}
System.out.printf("\n\nThe total number of passengers on the train - %d.\n", sumOfPassangers(trainCars));
System.out.printf("The total amount of train baggage - %.1f tons.", sumOfLuggage(trainCars));
System.out.println("\n\nFinding the train car by number of passengers");
System.out.print("Enter the lower number: ");
int lower = scn.nextInt();
System.out.print("Enter the extreme number: ");
int extreme = scn.nextInt();
boolean flag = false;
for (Train car: trainCars) {
int amount = car.getCapacity();
if(amount >= lower && amount <= extreme) {
System.out.println(car);
flag = true;
}
}
if (!flag) {
System.out.println("There is no such train car");
}
scn.close();
}
}
class Train {
private int comfortLevel;
private String type;
private int capacity;
private float luggage;
public Train(int comfortLevel, String type, int capacity, float luggage) {
this.comfortLevel = comfortLevel;
this.type = type;
this.capacity = capacity;
this.luggage = luggage;
}
public int getComfortLevel() {
return comfortLevel;
}
public String getType() {
return type;
}
public int getCapacity() {
return capacity;
}
public float getLuggage() {
return luggage;
}
@Override
public String toString() {
return "Train : " +
" Type: " + type +
". Comfort level: " + comfortLevel +
". Capacity: " + capacity +
". Luggage: " + luggage + " tons.";
}
}
class Intercity extends Train {
public Intercity(int comfortLevel, String type, int capacity, float luggage) {
super(comfortLevel, type, capacity, luggage);
}
}
class SV extends Train {
public SV(int comfortLevel, String type, int capacity, float luggage) {
super(comfortLevel, type, capacity, luggage);
}
}
class Compartment extends Train {
public Compartment(int comfortLevel, String type, int capacity, float luggage) {
super(comfortLevel, type, capacity, luggage);
}
}
class Plackart extends Train {
public Plackart(int comfortLevel, String type, int capacity, float luggage) {
super(comfortLevel, type, capacity, luggage);
}
}
class sortByComfort implements Comparator<Train> {
public int compare(Train a, Train b){
return a.getComfortLevel() - b.getComfortLevel();
}
}

View 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);
}
}

View File

@@ -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);
}
}

View 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");
}
}

View 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
View 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
View 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);
}
}