Compare commits

..

11 Commits

Author SHA1 Message Date
kxtzzl
cdad651c7f Create Lab6 2023-05-17 16:47:12 +03:00
kxtzzl
9d3fc9e85d Create Lab5 2023-05-11 01:18:29 +03:00
kxtzzl
f07b3b6617 Update lab3 2023-05-11 00:50:04 +03:00
kxtzzl
1f0c160216 Update lab4 2023-04-06 00:22:53 +03:00
kxtzzl
511422ad6c Update lab2 2023-04-05 12:30:01 +03:00
kxtzzl
4f86e8cf76 Update lab4 2023-04-03 10:56:11 +03:00
kxtzzl
9493c4974d Create lab4 2023-03-24 04:45:23 +02:00
romchhh
66089802cc Create lab3 2023-03-24 01:42:33 +02:00
romchhh
bbb463871e Create lab2 2023-03-20 20:50:22 +02:00
romchhh
a7a259d3c6 Create lab1 fedoniuk 2023-02-26 14:47:36 +02:00
Oleksii Aleshchenko
8b6da131a0 add inheritance example 2023-02-23 16:03:51 +02:00
88 changed files with 1043 additions and 1053 deletions

8
.idea/.gitignore generated vendored Normal file
View File

@@ -0,0 +1,8 @@
# Default ignored files
/shelf/
/workspace.xml
# Editor-based HTTP Client requests
/httpRequests/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml

6
.idea/misc.xml generated Normal file
View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<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" />
</component>
</project>

8
.idea/modules.xml generated Normal file
View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/OOP_IO-2x_2023.iml" filepath="$PROJECT_DIR$/OOP_IO-2x_2023.iml" />
</modules>
</component>
</project>

124
.idea/uiDesigner.xml generated Normal file
View File

@@ -0,0 +1,124 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Palette2">
<group name="Swing">
<item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" />
</item>
<item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" />
</item>
<item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" />
</item>
<item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.svg" removable="false" auto-create-binding="false" can-attach-label="true">
<default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" />
</item>
<item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" />
<initial-values>
<property name="text" value="Button" />
</initial-values>
</item>
<item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
<initial-values>
<property name="text" value="RadioButton" />
</initial-values>
</item>
<item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
<initial-values>
<property name="text" value="CheckBox" />
</initial-values>
</item>
<item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" />
<initial-values>
<property name="text" value="Label" />
</initial-values>
</item>
<item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
<item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
<item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
<item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" />
</item>
<item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
<preferred-size width="200" height="200" />
</default-constraints>
</item>
<item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
<preferred-size width="200" height="200" />
</default-constraints>
</item>
<item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
</item>
<item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
</item>
<item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" />
</item>
<item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" />
</item>
<item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1">
<preferred-size width="-1" height="20" />
</default-constraints>
</item>
<item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" />
</item>
<item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" />
</item>
</group>
</component>
</project>

6
.idea/vcs.xml generated Normal file
View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
</component>
</project>

184
Lab5 Normal file
View File

@@ -0,0 +1,184 @@
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
class Letter {
private char value;
public Letter(char value) {
this.value = value;
}
public char getValue() {
return value;
}
}
class Word {
private List<Letter> letters = new ArrayList<>();
public Word(String input) {
for (char c : input.toCharArray()) {
letters.add(new Letter(c));
}
}
public List<Letter> getLetters() {
return letters;
}
public String toString() {
StringBuilder sb = new StringBuilder();
for (Letter letter : letters) {
sb.append(letter.getValue());
}
return sb.toString();
}
}
class PunctuationMark {
private char value;
public PunctuationMark(char value) {
this.value = value;
}
public char getValue() {
return value;
}
}
class Sentence {
private List<Object> elements = new ArrayList<>();
public Sentence(String input) {
StringBuilder sb = new StringBuilder();
for (char c : input.toCharArray()) {
if (Character.isLetterOrDigit(c)) {
sb.append(c);
} else {
if (sb.length() > 0) {
elements.add(new Word(sb.toString()));
sb.setLength(0);
}
elements.add(new PunctuationMark(c));
}
}
if (sb.length() > 0) {
elements.add(new Word(sb.toString()));
}
}
public List<Object> getElements() {
return elements;
}
public String toString() {
StringBuilder sb = new StringBuilder();
for (Object element : elements) {
if (element instanceof Word) {
sb.append(((Word) element).toString());
} else {
sb.append(((PunctuationMark) element).getValue());
}
}
return sb.toString();
}
}
class Text {
private List<Sentence> sentences = new ArrayList<>();
public Text(String input) {
StringBuilder sb = new StringBuilder();
for (char c : input.toCharArray()) {
if (c == '.' || c == '?' || c == '!' || c == ',') {
sb.append(c);
sentences.add(new Sentence(sb.toString()));
sb.setLength(0);
} else {
sb.append(c);
}
}
if (sb.length() > 0) {
sentences.add(new Sentence(sb.toString()));
}
}
public List<Sentence> getSentences() {
return sentences;
}
public String toString() {
StringBuilder sb = new StringBuilder();
for (Sentence sentence : sentences) {
sb.append(sentence.toString());
}
return sb.toString();
}
}
public class Lab5 {
public static void main(String[] args) {
int C17 = 2430 % 17;
System.out.println("\n---------------------------------------------------------------------------------------------------------------------");
System.out.println(" C17 = " + C17 + ", So, the task is: delete all previous occurrences of the last letter of each word of the specified text.");
System.out.println("---------------------------------------------------------------------------------------------------------------------");
Scanner scanner = new Scanner(System.in);
boolean isDone = false;
while (!isDone) {
System.out.print("\nEnter a string or type 'q' to quit: ");
String input = scanner.nextLine().trim();
if (input.equals("q")) {
System.out.print("\n The work is completed.");
isDone = true;
} else if (input.isEmpty()) {
System.out.println("Error: Input string is empty. Please enter a non-empty string.");
} else {
try {
StringBuilder sb = new StringBuilder(input);
String[] words = sb.toString().split("\\s+");
for (int i = 0; i < words.length; i++) {
String word = words[i];
char lastChar = word.charAt(word.length() - 1);
if (!Character.isLetterOrDigit(lastChar)) {
int lastLetterIndex = -1;
for (int j = word.length() - 2; j >= 0; j--) {
if (Character.isLetter(word.charAt(j))) {
lastLetterIndex = j;
break;
}
}
if (lastLetterIndex != -1) {
char lastLetter = word.charAt(lastLetterIndex);
String newWord = "";
for (int j = 0; j < word.length() - 1; j++) {
if (!Character.isLetterOrDigit(word.charAt(j)) || word.charAt(j) != lastLetter) {
newWord += word.charAt(j);
}
}
newWord += lastChar;
words[i] = newWord;
}
} else {
char lastLetter = lastChar;
String newWord = "";
for (int j = 0; j < word.length() - 1; j++) {
if (!Character.isLetterOrDigit(word.charAt(j)) || word.charAt(j) != lastLetter) {
newWord += word.charAt(j);
}
}
newWord += lastLetter;
words[i] = newWord;
}
}
System.out.print("\n Final string: ");
System.out.println(String.join(" ", words));
} catch (Exception e) {
System.out.println("An error occurred: " + e.getMessage());
}
}
}
}
}

225
Lab6 Normal file
View File

@@ -0,0 +1,225 @@
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
import java.util.Comparator;
class ToyRoom {
public static void variant() {
int C13 = 2430 % 13;
System.out.println("\n ---------------------------------------------------------------------------------------------------------------------");
System.out.println(" C13 = " + C13 + ", So, the task is: Prepare the toy room for children of different age groups.");
System.out.println(" ---------------------------------------------------------------------------------------------------------------------");
}
private List<Toy> toys;
public ToyRoom() {
this.toys = new ArrayList<>();
}
public void addToy(Toy toy) {
toys.add(toy);
}
public void displayToys() {
System.out.println(" -------------------------------------------------------");
System.out.printf(" | %-20s | %-10s | %-15s |\n", "Name", "Price ($)", "Age Group");
System.out.println(" |----------------------|------------|-----------------|");
for (Toy toy : toys) {
System.out.printf(" | %-20s | %-10.2f | %-15s |\n", toy.name, toy.price, toy.ageGroup);
}
System.out.println(" -------------------------------------------------------");
}
public void sortToys(boolean ascending) {
if (ascending) {
toys.sort(Comparator.comparingDouble(Toy::getPrice));
} else {
toys.sort(Comparator.comparingDouble(Toy::getPrice).reversed());
}
}
public List<Toy> findToysByPriceRange(double minPrice, double maxPrice) {
List<Toy> foundToys = new ArrayList<>();
for (Toy toy : toys) {
if (toy.getPrice() >= minPrice && toy.getPrice() <= maxPrice) {
foundToys.add(toy);
}
}
return foundToys;
}
public void findToysByName(String name) {
List<Toy> foundToys = new ArrayList<>();
for (Toy toy : toys) {
if (toy.name.toLowerCase().contains(name.toLowerCase())) {
foundToys.add(toy);
}
}
if (!foundToys.isEmpty()) {
System.out.println("\n Toys with matching name \"" + name + "\":");
System.out.println(" -------------------------------------------------------");
System.out.printf(" | %-20s | %-10s | %-15s |\n", "Name", "Price ($)", "Age Group");
System.out.println(" |----------------------|------------|-----------------|");
for (Toy toy : foundToys) {
System.out.printf(" | %-20s | %-10.2f | %-15s |\n", toy.name, toy.price, toy.ageGroup);
}
System.out.println(" -------------------------------------------------------");
} else {
System.out.println(" No toys found with a matching name.");
}
}
}
abstract class Toy {
protected String name;
protected double price;
protected String ageGroup;
public Toy(String name, double price, String ageGroup) {
this.name = name;
this.price = price;
this.ageGroup = ageGroup;
}
public double getPrice() {
return price;
}
@Override
public String toString() {
return name + " - $" + price + ageGroup;
}
}
class Car extends Toy {
public Car(String name, double price, String ageGroup) {
super(name, price, ageGroup);
}
}
class Doll extends Toy {
public Doll(String name, double price, String ageGroup) {
super(name, price, ageGroup);
}
}
class Ball extends Toy {
public Ball(String name, double price, String ageGroup) {
super(name, price, ageGroup);
}
}
class Cube extends Toy {
public Cube(String name, double price, String ageGroup) {
super(name, price, ageGroup);
}
}
public class Lab6 {
public static void main(String[] args) {
ToyRoom toyRoom = new ToyRoom();
ToyRoom.variant();
toyRoom.addToy(new Car("Small car 'Mcqueen'", 10.0, "1-3 years"));
toyRoom.addToy(new Car("Small Car 'Audi'", 12.0, "1-3 years"));
toyRoom.addToy(new Car("Medium Yellow Car", 15.0, "3-6 years"));
toyRoom.addToy(new Car("Medium Blue Car", 18.0, "3-6 years"));
toyRoom.addToy(new Car("Car on R/C", 30.0, "6-10 years"));
toyRoom.addToy(new Doll("Doll that can talk", 25.0, "1-3 years"));
toyRoom.addToy(new Doll("Doll 'Barbie'", 10.0, "3-6 years"));
toyRoom.addToy(new Doll("Bear Teddy", 14.5, "6-12 months"));
toyRoom.addToy(new Ball("Yellow Ball", 5.0, "6-12 months"));
toyRoom.addToy(new Ball("Big Blue Ball", 7.0, "1-3 years"));
toyRoom.addToy(new Ball("Football Ball", 12.5, "6-10 years"));
toyRoom.addToy(new Cube("Cubes with pictures", 6.5, "6-12 months"));
toyRoom.addToy(new Cube("Cubes with letters", 9.0, "3-6 years"));
toyRoom.addToy(new Cube("Rubik's Cube", 14.0, "6-10 years"));
boolean exit = false;
Scanner scanner = new Scanner(System.in);
while (!exit) {
System.out.println("\n Select an option:");
System.out.println(" 1 - Display all toys;");
System.out.println(" 2 - Find toy by price range;");
System.out.println(" 3 - Sort toys by price;");
System.out.println(" 4 - Find a toy by name;");
System.out.println(" Q - Quit;\n");
String option = scanner.nextLine();
switch (option.toLowerCase()) {
case "1":
System.out.println(" Toys in the Toy Room:");
toyRoom.displayToys();
break;
case "2":
System.out.print(" Enter the minimum price for the toy: ");
double minPrice = scanner.nextDouble();
scanner.nextLine();
System.out.print(" Enter the maximum price for the toy: ");
double maxPrice;
do {
maxPrice = scanner.nextDouble();
scanner.nextLine();
if (minPrice >= maxPrice) {
System.out.println(" Error: The minimum price must be less than the maximum price. Please try again.");
System.out.print(" Enter the maximum price for the toy: ");
}
} while (minPrice >= maxPrice);
List<Toy> foundToys = toyRoom.findToysByPriceRange(minPrice, maxPrice);
if (!foundToys.isEmpty()) {
System.out.println("\n Found toys within the price range:");
System.out.println(" -------------------------------------------------------");
System.out.printf(" | %-20s | %-10s | %-15s |\n", "Name", "Price ($)", "Age Group");
System.out.println(" |----------------------|------------|-----------------|");
for (Toy toy : foundToys) {
System.out.printf(" | %-20s | %-10.2f | %-15s |\n", toy.name, toy.price, toy.ageGroup);
}
System.out.println(" -------------------------------------------------------");
} else {
System.out.println("\n No toys found within the price range.");
}
break;
case "3":
System.out.println(" Choose the sorting order:");
System.out.println(" A - Ascending");
System.out.println(" D - Descending");
String sortOrder = scanner.nextLine();
boolean ascending = true;
if (sortOrder.equalsIgnoreCase("D")) {
ascending = false;
}
toyRoom.sortToys(ascending);
System.out.println("\n Toys in the Toy Room after sorting:");
toyRoom.displayToys();
break;
case "4":
System.out.print(" Enter the toy name: ");
String toyName = scanner.nextLine();
toyRoom.findToysByName(toyName);
break;
case "q":
exit = true;
System.out.println(" Program exited. Thank you!");
break;
default:
System.out.println(" Invalid option. Please try again.");
}
}
}
}

View File

@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4"> <module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true"> <component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output /> <exclude-output />
<content url="file://$MODULE_DIR$"> <content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" /> <sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
</content> </content>
<orderEntry type="inheritedJdk" /> <orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" /> <orderEntry type="sourceFolder" forTests="false" />
</component> </component>
</module> </module>

96
lab1 fedoniuk Normal file
View File

@@ -0,0 +1,96 @@
import java.util.Scanner;
public class lab1 {
public static void main(String[] args) {
int C2, C3, C5;
var C7 = 0;
Scanner id = new Scanner(System.in);
System.out.print("Enter the student's ID number: ");
int idbook = id.nextInt();
C2 = idbook % 2;
C3 = idbook % 3;
C5 = idbook % 5;
C7 = idbook % 7;
String[] oper1 = {"+", "-"};
String[] oper2 = {"*", "/", "%", "+", "-"};
String[] oper3 = {"byte", "short", "int", "long", "char", "float", "double"};
int C = C3;
String O1 = oper1[C2];
String O2 = oper2[C5];
String O3 = oper3[C7];
System.out.println("C2 is: " + C2 + ", operation is: " + O1);
System.out.println("C3 = " + C);
System.out.println("C5 is: " + C5 + ", operation is: " + O2);
System.out.println("C7 is: " + C7 + ", Type of indexes i and j is: " + O3);
double i = 0;
double j = 0;
System.out.println("\nEnter a values for lower limits (i and j) in the "+ O3+" type: ");
switch (O3) {
case "byte" -> {
i = id.nextByte();
j = id.nextByte();
}
case "short" -> {
i = id.nextShort();
j = id.nextShort();
}
case "int" -> {
i = id.nextInt();
j = id.nextInt();
}
case "long" -> {
i = id.nextLong();
j = id.nextLong();
}
case "char" -> {
i = id.next().charAt(0);
j = id.next().charAt(0);
}
case "float" -> {
i = id.nextFloat();
j = id.nextFloat();
}
case "double" -> {
i = id.nextDouble();
j = id.nextDouble();
}
}
System.out.println("The value of the created variables is: " + i + " and " + j);
System.out.println("Enter values for top limits (n and m):");
int n, m;
n = id.nextInt();
m = id.nextInt();
double sum = 0, res = 0, res2 = 0;
if ((O1.equals("-") && i + n >= C && i <= C) || i > n || j > m || (C == 0 && i == 0)) {
System.out.println("Incorrect input, try another values");
} else {
for (double a = i; a <= n; a++) {
for (double b = j; b <= m; b++) {
switch (O1) {
case "+" -> res = a + C;
case "-" -> res = a - C;
}
switch (O2) {
case "+" -> res2 = a + b;
case "-" -> res2 = a - b;
case "*" -> res2 = a * b;
case "/" -> res2 = a / b;
case "%" -> res2 = a % b;
}
sum += res2 / res;
}
}
System.out.println("Sum is: " + sum);
}
}
}

Binary file not shown.

View File

@@ -1,21 +0,0 @@
public class Main {
public static void main(String[] args) {
float s = 0.0f, a = 2.0f, b = 1.0f, m = 6.0f, n = 4.0f;
int c = 1;
for (float i = a; i <= m; i++) {
// Перевірка ділення на 0.
if (i == -1) {
System.out.println("Помилка: ділення на нуль не можливе.");
return;
}
for (float j = b; j <= n; j++) {
s += (i + j) / (i + c);
}
}
System.out.println("S = " + s);
}
}

Binary file not shown.

76
lab2 Normal file
View File

@@ -0,0 +1,76 @@
import java.util.Scanner;
import java.util.Random;
public class Lab2 {
public static void main(String[] args) {
int C5, C11, C7;
int idbook = 2430;
C5 = idbook % 5;
C7 = idbook % 7;
C11 = idbook % 11;
System.out.println("C5 = " + C5 + " - Action between matrix is: C=a×B, a - const");
System.out.println("C7 = " + C7 + " - The matrix elements type is: byte");
System.out.println("C11 = " + C11 + " - The action with matrix C is: Find the matrix elements' average value");
Scanner sc = new Scanner(System.in);
System.out.print("\n Enter the number of rows: ");
int rows = sc.nextInt();
System.out.print(" Enter the number of columns: ");
int cols = sc.nextInt();
int min = 0;
int max = 0;
boolean valid = false;
while (!valid) {
System.out.print("\n Enter the minimum value of the matrix numbers (-128 to 127): ");
min = sc.nextInt();
System.out.print(" Enter the maximum value of the matrix numbers (-128 to 127): ");
max = sc.nextInt();
if (min >= -128 && max <= 127 && min < max) {
valid = true;
} else {
System.out.println("\nInvalid input. Please enter the values again.");
}
}
byte[][] matrix = new byte[rows][cols];
Random rand = new Random();
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
matrix[i][j] = (byte) (rand.nextInt(max - min + 1) + min);
}
}
System.out.println("\nThe matrix is:");
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
System.out.printf(" %-5d", matrix[i][j]);
}
System.out.println();
}
System.out.print("\nEnter the constant to multiply the matrix by: ");
int constant = sc.nextInt();
byte[][] multipliedMatrix = new byte[rows][cols];
System.out.println(" The matrix multiplied by " + constant + " is:");
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
multipliedMatrix[i][j] = (byte) (matrix[i][j] * constant);
System.out.printf(" %-5d", multipliedMatrix[i][j]);
}
System.out.println();
}
System.out.println("\n Press 'enter' to search for the average value of the matrix.");
sc.nextLine();
sc.nextLine();
int sum = 0;
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
sum += multipliedMatrix[i][j];
}
}
double average = (double) sum / (rows * cols);
System.out.println("The average value of the multiplied matrix is: " + average);
}
}

View File

@@ -1,11 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

Binary file not shown.

View File

@@ -1,59 +0,0 @@
public class Main {
public static void main(String[] args) {
// Створення матриць.
char[][] a = {
{12, 4, 8, 11},
{16, 9, 3, 13},
{7, 11, 16, 15}
};
char[][] b = {
{15, 12, 4, 5},
{19, 1, 3, 11},
{2, 11, 6, 10}
};
System.out.println("Матриця A: ");
for (char[] i : a) {
for (char j : i) {
/* При виведенні елементів ми додаємо пробіли на кінці
цілого числа (%-4d) задля легшого читання матриці.
*/
System.out.printf("%-4d", (int) j);
}
System.out.println();
}
System.out.println("\nМатриця B: ");
for (char[] i : b) {
for (char j : i) {
System.out.printf("%-4d", (int) j);
}
System.out.println();
}
// Перевірка на те, чи є матриці однакових форм.
if (a[0].length != b[0].length || a.length != b.length) {
System.out.println("Матриці А і В мають різні форми.");
} else {
int[][] c = new int[a.length][a[0].length];
float sum = 0;
System.out.println("\nМатриця С: ");
for (int i = 0; i < a.length; i++) {
for (int j = 0; j < a[i].length; j++) {
c[i][j] = (byte) a[i][j] ^ (byte) b[i][j];
sum += c[i][j];
System.out.printf("%-4d", c[i][j]);
}
System.out.println();
}
float average = sum / (c.length * c[0].length);
System.out.printf("\nСереднє значення матриці С: %.3f", average);
}
}
}

Binary file not shown.

63
lab3 Normal file
View File

@@ -0,0 +1,63 @@
import java.util.Scanner;
public class Lab5 {
public static void main(String[] args) {
int C17 = 2430 % 17;
System.out.println("\n---------------------------------------------------------------------------------------------------------------------");
System.out.println(" C17 = " + C17 + ", So, the task is: delete all previous occurrences of the last letter of each word of the specified text");
System.out.println("---------------------------------------------------------------------------------------------------------------------");
Scanner scanner = new Scanner(System.in);
String input = null;
while (input == null || input.isEmpty()) {
System.out.print("\nEnter a string: ");
input = scanner.nextLine();
}
try {
StringBuilder sb = new StringBuilder(input);
String[] words = sb.toString().split("\\s+");
for (int i = 0; i < words.length; i++) {
String word = words[i];
char lastChar = word.charAt(word.length() - 1);
if (!Character.isLetterOrDigit(lastChar)) {
// Last character is a punctuation mark
int lastLetterIndex = -1;
for (int j = word.length() - 2; j >= 0; j--) {
if (Character.isLetter(word.charAt(j))) {
lastLetterIndex = j;
break;
}
}
if (lastLetterIndex != -1) {
char lastLetter = word.charAt(lastLetterIndex);
String newWord = "";
for (int j = 0; j < word.length() - 1; j++) {
if (!Character.isLetterOrDigit(word.charAt(j)) || word.charAt(j) != lastLetter) {
newWord += word.charAt(j);
}
}
newWord += lastChar;
words[i] = newWord;
}
} else {
// Last character is a letter or a digit
char lastLetter = lastChar;
String newWord = "";
for (int j = 0; j < word.length() - 1; j++) {
if (!Character.isLetterOrDigit(word.charAt(j)) || word.charAt(j) != lastLetter) {
newWord += word.charAt(j);
}
}
newWord += lastLetter;
words[i] = newWord;
}
}
System.out.print("\nFinal string: ");
System.out.println(String.join(" ", words));
} catch (Exception e) {
System.out.println("An error occurred: " + e.getMessage());
}
}
}

View File

@@ -1,11 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

Binary file not shown.

View File

@@ -1,54 +0,0 @@
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
StringBuffer text = new StringBuffer(scanner.nextLine());
String str_text = text.toString();
// Заміна ? й ! на .
str_text = str_text.replaceAll("[?!]", ".");
// Очищення від спеціальних символів.
str_text = str_text.replaceAll("\"", "");
str_text = str_text.replaceAll("-", "");
str_text = str_text.replaceAll("[,':;^*&%$#@]", "");
// Створення масиву з речень.
String[] spl_text = str_text.split("\\.");
// Перевірка на кількість речень.
if (spl_text.length == 0 || spl_text.length == 1) {
System.out.println("Не вдалося виконати дію з рядками (було введено одне речення або взагалі нічого)");
return;
}
System.out.println("Слова першого речення, яких немає у жодному з наступних:");
for (String st : spl_text[0].split(" ")) {
int index = 0;
for (int i = 1; i < spl_text.length; i++) {
// Усунення кейсу з регістром, усунення пробілів.
if (Arrays.asList(spl_text[i].toLowerCase().trim().split(" ")).contains(st.trim().toLowerCase())) {
index = 1;
break;
}
}
// Перевірка на те, чи було дане слово хоча б в одному реченні.
if (index == 0) {
System.out.println(st.trim().toLowerCase());
}
}
}
}
/* [Input]
"У молодості я взяв собі за правило не пити ні краплі спиртного до обіду. Тепер, коли я вже немолодий, я тримаюся правила не пити ні краплі спиртного до сніданку". - Вінстон Черчилль
[Output]
у
молодості
взяв
собі
за
правило
обіду
*/

Binary file not shown.

115
lab4 Normal file
View File

@@ -0,0 +1,115 @@
import java.util.Arrays;
import java.util.Comparator;
import java.util.Scanner;
public class Lab4 {
public static class Student {
private int grBook;
private String name;
private int age;
private double gpa;
private String faculty;
public Student(int grBook, String name, int age, double gpa, String faculty) {
this.grBook = grBook;
this.name = name;
this.age = age;
this.gpa = gpa;
this.faculty = faculty;
}
public int getGrBook() {
return grBook;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
public double getGpa() {
return gpa;
}
public String getFaculty() {
return faculty;
}
}
public static void main(String[] args) {
int C11 = 2430 % 11;
System.out.println("\n ----------------------------------------------------------------------------------------------------------");
System.out.println(" C11 = " + C11 + ", So, the task is: Define the student class, which consists of at least 5 fields.");
System.out.println(" ----------------------------------------------------------------------------------------------------------");
Student[] students = {
new Student(1010, "Вікторія", 21, 84.6, "ФІОТ"),
new Student(2010, "Дарія", 20, 79.8, "РТФ"),
new Student(3010, "Анатолій", 19, 94.3, "ХТФ"),
new Student(4040, "Генадій", 22, 62.0, "ІХФ"),
new Student(5050, "Борис", 18, 89.1, "ФММ")
};
Scanner scanner = new Scanner(System.in);
boolean quit = false;
while (!quit) {
System.out.print("\nEnter the field to sort by (greed book, name, age, gpa, faculty) or enter 'quit' to exit: ");
String input = scanner.nextLine();
if (!input.equals("greed book") && !input.equals("name") && !input.equals("age") && !input.equals("gpa") && !input.equals("faculty") && !input.equals("quit")) {
System.out.println("Invalid field to sort by! Please enter 'grBook', 'name', 'age', 'gpa', or 'faculty'.");
continue;
}
if (input.equals("quit")) {
quit = true;
System.out.println("Thank you for using my program:)");
continue;
}
String field = input;
System.out.print("Enter the sort order (asc or desc): ");
String order = scanner.nextLine();
if (!order.equals("asc") && !order.equals("desc")) {
System.out.println("Invalid sort order! Please enter 'asc' or 'desc'.");
continue;
}
Comparator<Student> comparator = null;
switch (field) {
case "greed book":
comparator = Comparator.comparingInt(Student::getGrBook);
break;
case "name":
comparator = Comparator.comparing(Student::getName);
break;
case "age":
comparator = Comparator.comparingInt(Student::getAge);
break;
case "gpa":
comparator = Comparator.comparingDouble(Student::getGpa);
break;
case "faculty":
comparator = Comparator.comparing(Student::getFaculty);
break;
}
if (order.equals("desc")) {
comparator = comparator.reversed();
}
Arrays.sort(students, comparator);
System.out.println("\nSorted by " + field + " (in " + order + "ending order):");
System.out.println(String.format("%n%-15s | %-20s | %-4s | %-4s | %-10s", "Greed book", "Name", "Age", "GPA", " Faculty"));
System.out.println("----------------------------------------------------------------");
for (Student student : students) {
System.out.println(String.format("%-15d | %-20s | %-4d | %-3.1f | %-10s", student.getGrBook(), student.getName(), student.getAge(), student.getGpa(), student.getFaculty()));
}
}
}
}

View File

@@ -1,11 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

View File

@@ -1,40 +0,0 @@
package lab4;
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
// Створення об'єктів класу Student.
Student First = new Student("Михайло", "Гордун", 21, "ІПСА", true);
Student Second = new Student("Дмитро", "Шарій", 19, "ТЕФ", false);
Student Third = new Student("Аліна", "Шарій", 18, "ЕФ", false);
Student Fourth = new Student("Назар", "Лоленко", 17, "ФІОТ", true);
Student Fifth = new Student("Олександра", "Зеленська", 18, "ФМВ", true);
// Створення масиву об'єктів класу Student.
Student[] ObjArray = new Student[] {First, Second, Third, Fourth, Fifth};
// Сортування по алфавіту (прізвище ім'я).
Arrays.sort(ObjArray, new Sorting.SortByAlphabet());
System.out.println("\nСортування за алфавітом (зростання):");
for (Student Student : ObjArray) {
System.out.println(Student.lastName + " " + Student.firstName);
}
/* Сортування по віці (спадання).
Масив сортує масив по зростанню, але в циклі ітерація
проходить навпаки, тим самим виводячи елементи з кінця
до початку.
*/
Arrays.sort(ObjArray, new Sorting.SortByAge());
System.out.println("\nСортування за віком (спадання):");
for (int i = ObjArray.length-1; i >= 0; i--) {
System.out.print(ObjArray[i].lastName + " ");
System.out.print(ObjArray[i].firstName);
System.out.println(", вік: " + ObjArray[i].age);
}
}
}

View File

@@ -1,52 +0,0 @@
package lab4;
import java.util.Comparator;
public class Sorting {
// Непорушний клас, створений на основі абстратного класу Comparator.
public static class SortByAlphabet implements Comparator<Student> {
/* Реалізація методу compare().
Метод compare(Object o1, Object 02) є одним із абстрактних методів
класу Comparator. Нам потрібно або зробити наш клас абстактним, або
реалізувати даний метод. Якщо ж оголосити клас SortByAlphabet
абстрактним, ми не зможемо створити на основі його об'єкт, тому
вибір очевидний - реалізація методу.
*/
@Override
public int compare(Student st1, Student st2) {
/* Якщо в нас буде 2 однакових прізвища на порівняння, нам потрібно
порівнювати імена аби сортування по алфавіту було правильним.
*/
if (st1.lastName.compareTo(st2.lastName) == 0) {
return st1.firstName.compareTo(st2.firstName);
} else {
return st1.lastName.compareTo(st2.lastName);
}
}
}
// Непорушний клас, створений на основі абстратного класу Comparator.
public static class SortByAge implements Comparator<Student> {
// Аналогічно тут, реалізуємо метод compare().
@Override
public int compare(Student st1, Student st2) {
/* Метод compareTo() приймає лише дані типу String, тому
ми перетворюємо вік з int в String. Звісно ж це може привести
до неточності. Числа будуть порівнюватись спочатку по перших
цифрах, потім по других і тд. Якщо в нас буде, наприклад вік
107 і 18 на порівнянні, прогрма порахує, що 18 > 107 по
порядку. Тут цим знехтується, адже я сумніваюсь що існують
студенти яким >100 років.
*/
String age1 = Integer.toString(st1.age);
String age2 = Integer.toString(st2.age);
return age1.compareTo(age2);
}
}
}

View File

@@ -1,44 +0,0 @@
package lab4;
public class Student {
// Створення полів класу.
public String firstName;
public String lastName;
public int age;
private String faculty;
private boolean hasStipend;
// Конструктор класу.
public Student(String fn, String ln, int age, String fac, boolean wealth) {
setValues(fn, ln, age, fac, wealth);
getValues();
}
/* Метод, який нічого не повертає.
Визначає поля класу.
*/
private void setValues(String fn, String ln, int age, String fac, boolean wealth) {
this.firstName = fn;
this.lastName = ln;
this.age = age;
this.faculty = fac;
this.hasStipend = wealth;
}
/* Метод, який нічого не повертає.
Виводить значення полів.
*/
private void getValues() {
System.out.println("Прізвище та ім'я: " + this.lastName + " " + this.firstName);
System.out.println("Вік: " + this.age);
System.out.println("Факультет: " + this.faculty);
System.out.print("Наявність стипендії: ");
if (this.hasStipend)
System.out.println("є");
else
System.out.println("немає");
System.out.println("~".repeat(40));
}
}

Binary file not shown.

View File

@@ -1,11 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

View File

@@ -1,5 +0,0 @@
package lab5;
public record Letter(char value) {
}

View File

@@ -1,38 +0,0 @@
package lab5;
import java.util.*;
public class Main {
public static void main(String[] args) {
String inputText = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam tempor dictum velit, vitae sollicitudin mauris facilisis et. Praesent mi odio, pretium eget sem ac, ultricies eleifend elit. Maecenas vulputate efficitur risus, a ornare lorem sollicitudin vitae. Pellentesque rhoncus posuere risus eu placerat. Maecenas luctus felis ac interdum sodales. Quisque nec est lectus.";
// Створений Text об'єкт
Text text = new Text(inputText);
// Пошук у першому реченні слів, яких немає в наступних реченнях
List<String> result = findUniqueWords(text);
System.out.println("Unique words in the first sentence: " + result);
}
public static List<String> findUniqueWords(Text text) {
if (text.getSentences().isEmpty()) {
throw new IllegalArgumentException("Text must contain at least one sentence.");
}
Sentence firstSentence = text.getSentences().get(0);
List<String> wordsInFirstSentence = firstSentence.getStringWords();
Set<String> uniqueWords = new HashSet<>(wordsInFirstSentence);
for (int i = 1; i < text.getSentences().size(); i++) {
Sentence sentence = text.getSentences().get(i);
List<String> wordsInCurrentSentence = sentence.getStringWords();
wordsInCurrentSentence.forEach(uniqueWords::remove);
}
return new ArrayList<>(uniqueWords);
}
}

View File

@@ -1,5 +0,0 @@
package lab5;
public record Punctuation(char value) {
}

View File

@@ -1,62 +0,0 @@
package lab5;
import java.util.ArrayList;
import java.util.List;
public class Sentence {
private final List<Object> wordsAndPunctuations;
public Sentence(String stringSentence) {
List<Object> wordsAndPunctuations = new ArrayList<>();
StringBuilder word = new StringBuilder();
for (int i = 0; i < stringSentence.length(); i++) {
char ch = stringSentence.charAt(i);
if (Character.isLetterOrDigit(ch)) {
word.append(ch);
} else if (Character.isWhitespace(ch)) {
if (word.length() > 0) {
wordsAndPunctuations.add(new Word(word.toString()));
word.setLength(0);
}
} else if (String.valueOf(ch).matches(".*\\p{Punct}.*")) {
if (word.length() > 0) {
wordsAndPunctuations.add(new Word(word.toString()));
word.setLength(0);
}
wordsAndPunctuations.add(new Punctuation(ch));
}
}
if (word.length() > 0) {
wordsAndPunctuations.add(new Word(word.toString()));
}
this.wordsAndPunctuations = wordsAndPunctuations;
}
public List<Object> getWordsAndPunctuations() {
return wordsAndPunctuations;
}
public List<Word> extractWords() {
List<Word> words = new ArrayList<>();
for (Object element : getWordsAndPunctuations()) {
if (element instanceof Word) {
words.add((Word) element);
}
}
return words;
}
public List<String> getStringWords() {
List<String> wordStrings = new ArrayList<>();
for (Word word : extractWords()) {
wordStrings.add(word.getStringWord());
}
return wordStrings;
}
}

View File

@@ -1,21 +0,0 @@
package lab5;
import java.util.ArrayList;
import java.util.List;
public class Text {
private final List<Sentence> sentences;
public Text(String stringText) {
this.sentences = new ArrayList<>();
String[] splitText = stringText.split("(?<=[!.?])\\s*");
for (String sentence : splitText) {
getSentences().add(new Sentence(sentence));
}
}
public List<Sentence> getSentences() {
return sentences;
}
}

View File

@@ -1,28 +0,0 @@
package lab5;
import java.util.ArrayList;
import java.util.List;
public class Word {
private final String stringWord;
private final List<Letter> letters;
public Word(String stringWord) {
List<Letter> letters = new ArrayList<>();
char[] chars = stringWord.toCharArray();
for (char c : chars) {
letters.add(new Letter(c));
}
this.letters = letters;
this.stringWord = stringWord;
}
public List<Letter> getLetters() {
return letters;
}
public String getStringWord() {
return stringWord;
}
}

View File

@@ -1,11 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

View File

@@ -1,17 +0,0 @@
package lab6;
public class Bmw extends Car {
public String mark = "BMW";
public Bmw(String _model, float speed, int price, int year, float fuel, float engineCapacity, String country) {
super(_model, speed, price, year, fuel, engineCapacity, country);
}
@Override
public void printValues() {
System.out.println("Марка: BMW");
super.printValues();
}
}

View File

@@ -1,40 +0,0 @@
package lab6;
import java.util.Comparator;
public class Car {
protected String _model;
protected float speed;
protected int price;
protected int year;
protected float fuel;
protected float engineCapacity;
protected String country;
public Car(String _model, float speed, int price, int year, float fuel, float engineCapacity, String country) {
setValues(_model, speed, price, year, fuel, engineCapacity, country);
printValues();
}
public void setValues(String _m, float s, int p, int y, float f, float e, String c) {
this._model = _m;
this.speed = s;
this.price = p;
this.year = y;
this.fuel = f;
this.engineCapacity = e;
this.country = c;
}
public void printValues() {
System.out.println("Модель: " + _model + " " + year);
System.out.println("Максимальна швидкість: " + speed + "км/год");
System.out.println("Ціна: " + price + "$");
System.out.println("Витрати палива: " + fuel + "л/100км");
System.out.println("Об'єм двигуна: " + engineCapacity);
System.out.println("Країна-виробник: " + country);
System.out.println("~".repeat(40));
}
}

View File

@@ -1,17 +0,0 @@
package lab6;
public class Ford extends Car {
public String mark = "Ford";
public Ford(String _model, float speed, int price, int year, float fuel, float engineCapacity, String country) {
super(_model, speed, price, year, fuel, engineCapacity, country);
}
@Override
public void printValues() {
System.out.println("Марка: Ford");
super.printValues();
}
}

View File

@@ -1,17 +0,0 @@
package lab6;
public class Lexus extends Car {
public String mark = "Lexus";
public Lexus(String _model, float speed, int price, int year, float fuel, float engineCapacity, String country) {
super(_model, speed, price, year, fuel, engineCapacity, country);
}
@Override
public void printValues() {
System.out.println("Марка: Lexus\nМатеринська компанія: Toyota");
super.printValues();
}
}

View File

@@ -1,55 +0,0 @@
package lab6;
/*
Номер заліковї книжки - 2518.
Завдання:
9)Визначити ієрархію легкових автомобілів. Створити таксопарк.
Порахувати вартість автопарку. Провести сортування автомобілів
парку за витратами палива. Знайти автомобіль у компанії, що
відповідає заданому діапазону швидкості автомобіля.
*/
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
System.out.println(" ".repeat(15) + "Таксопарк" + " ".repeat(15));
System.out.println("~".repeat(40));
Volkswagen Car1 = new Volkswagen("Golf 4", 224, 5000, 2001, 6.8f, 1.6f, "Німеччина");
Volkswagen Car2 = new Volkswagen("Passat", 240, 15000, 2007, 7.0f, 2.0f, "Німеччина");
Toyota Car3 = new Toyota("Prius", 231, 12500, 2014, 4.3f, 1.8f, "Японія");
Peguot Car4 = new Peguot("308", 220, 12000, 2007, 6.1f, 1.6f, "Франція");
Lexus Car5 = new Lexus("LS", 250, 80000, 2022, 10.9f, 3.5f, "Японія");
Skoda Car6 = new Skoda("Octavia", 220, 25000, 2022, 6.2f, 1.5f, "Чехія");
Ford Car7 = new Ford("Focus", 242, 7800, 2014, 6.9f, 2.0f, "США");
Bmw Car8 = new Bmw("5-Series", 250, 50000, 2018, 8.3f, 3.0f, "Німеччина");
Car[] CarList = new Car[] {Car1, Car2, Car3, Car4, Car5, Car6, Car7, Car8};
/*
Використовується лямбда функція, щоб описати компаратор в Arrays.sort().
*/
java.util.Arrays.sort(CarList, (a, b) -> Float.compare(a.fuel, b.fuel));
System.out.println("Сортування автомобілів за витратами палива:");
for (Car Car : CarList) {
System.out.println(Car._model + ": " + Car.fuel + "л/100км");
}
Scanner scanner = new Scanner(System.in);
System.out.print("\nВведіть діапазон швидкості автомобіля:\ід ");
float speed_down = scanner.nextFloat();
System.out.print("до ");
float speed_up = scanner.nextFloat();
System.out.println("Автомобілі із заданою швидкістю:");
for (Car Car : CarList) {
if ((Car.speed >= speed_down) && (Car.speed <= speed_up)) {
System.out.println(Car._model + ": " + Car.speed + " км/год");
}
}
}
}

View File

@@ -1,17 +0,0 @@
package lab6;
public class Peguot extends Car {
public String mark = "Peguot";
public Peguot(String _model, float speed, int price, int year, float fuel, float engineCapacity, String country) {
super(_model, speed, price, year, fuel, engineCapacity, country);
}
@Override
public void printValues() {
System.out.println("Марка: Peguot");
super.printValues();
}
}

View File

@@ -1,17 +0,0 @@
package lab6;
public class Skoda extends Car {
public String mark = "Skoda";
public Skoda(String _model, float speed, int price, int year, float fuel, float engineCapacity, String country) {
super(_model, speed, price, year, fuel, engineCapacity, country);
}
@Override
public void printValues() {
System.out.println("Марка: Skoda\nМатеринська компанія: Volkswagen");
super.printValues();
}
}

View File

@@ -1,17 +0,0 @@
package lab6;
public class Toyota extends Car {
public String mark = "Toyota";
public Toyota(String _model, float speed, int price, int year, float fuel, float engineCapacity, String country) {
super(_model, speed, price, year, fuel, engineCapacity, country);
}
@Override
public void printValues() {
System.out.println("Марка: Toyota");
super.printValues();
}
}

View File

@@ -1,17 +0,0 @@
package lab6;
public class Volkswagen extends Car {
public String mark = "Volkswagen";
public Volkswagen(String _model, float speed, int price, int year, float fuel, float engineCapacity, String country) {
super(_model, speed, price, year, fuel, engineCapacity, country);
}
@Override
public void printValues() {
System.out.println("Марка: Volkswagen");
super.printValues();
}
}

View File

@@ -1,11 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

View File

@@ -1,42 +0,0 @@
package lab7;
public class Car {
protected String mark;
protected String model;
protected int price;
protected int year;
protected float fuel;
public Car(String mark, String model, int price, int year, float fuel) {
setValues(mark, model, price, year, fuel);
}
// Цей конструктор був створений окремо для класу ElectricCar
public Car(String mark, String model, int price, int year) {
setValues(mark, model, price, year);
}
public void setValues(String mark, String model, int price, int year, float fuel) {
this.mark = mark;
this.model = model;
this.price = price;
this.year = year;
this.fuel = fuel;
}
public void setValues(String mark, String model, int price, int year) {
this.mark = mark;
this.model = model;
this.price = price;
this.year = year;
}
public void printValues() {
System.out.println("Марка: " + mark);
System.out.println("Модель: " + model + " " + year);
System.out.println("Ціна: " + price + "$");
System.out.println("Витрати палива: " + fuel + "л/100км");
}
}

View File

@@ -1,137 +0,0 @@
package lab7;
import java.util.*;
public class CarCollection<T extends Car> implements List<T> {
private final LinkedList<T> carList;
public CarCollection() {
carList = new LinkedList<>();
}
public CarCollection(T car) {
carList = new LinkedList<>();
carList.add(car);
}
public CarCollection(Collection<? extends T> c) {
carList = new LinkedList<>(c);
}
// Реалізація методів List
@Override
public int size() {
return carList.size();
}
@Override
public boolean isEmpty() {
return carList.isEmpty();
}
@Override
public boolean contains(Object o) {
return carList.contains(o);
}
@Override
public Iterator<T> iterator() {
return carList.iterator();
}
@Override
public Object[] toArray() {
return carList.toArray();
}
@Override
public <T1> T1[] toArray(T1[] a) {
return carList.toArray(a);
}
@Override
public boolean add(T t) {
return carList.add(t);
}
@Override
public boolean remove(Object o) {
return carList.remove(o);
}
@Override
public boolean containsAll(Collection<?> c) {
return carList.containsAll(c);
}
@Override
public boolean addAll(Collection<? extends T> c) {
return carList.addAll(c);
}
@Override
public boolean addAll(int index, Collection<? extends T> c) {
return carList.addAll(index, c);
}
@Override
public boolean removeAll(Collection<?> c) {
return carList.removeAll(c);
}
@Override
public boolean retainAll(Collection<?> c) {
return carList.retainAll(c);
}
@Override
public void clear() {
carList.clear();
}
@Override
public T get(int index) {
return carList.get(index);
}
@Override
public T set(int index, T element) {
return carList.set(index, element);
}
@Override
public void add(int index, T element) {
carList.add(index, element);
}
@Override
public T remove(int index) {
return carList.remove(index);
}
@Override
public int indexOf(Object o) {
return carList.indexOf(o);
}
@Override
public int lastIndexOf(Object o) {
return carList.lastIndexOf(o);
}
@Override
public ListIterator<T> listIterator() {
return carList.listIterator();
}
@Override
public ListIterator<T> listIterator(int index) {
return carList.listIterator(index);
}
@Override
public List<T> subList(int fromIndex, int toIndex) {
return carList.subList(fromIndex, toIndex);
}
}

View File

@@ -1,29 +0,0 @@
package lab7;
public class CombatsCar extends Car {
private final int crew;
private final float weight;
private final String country;
public CombatsCar(String mark, String model, int price, int year, float fuel, int crew, float weight, String country) {
super(mark, model, price, year, fuel);
this.crew = crew;
this.weight = weight;
this.country = country;
}
public String getCountry() {
return country;
}
public void printValues() {
super.printValues();
System.out.println("--- Особливості бойової машини ---");
System.out.println("Екіпаж: " + crew + " людей");
System.out.println("Бойова маса: " + weight + "т");
System.out.println("Країна-виробник: " + country);
}
}

View File

@@ -1,25 +0,0 @@
package lab7;
public class ElectricCar extends Car {
private final float electricity;
private final float chargingSpeed;
public ElectricCar(String mark, String model, int price, int year, float electricity, int chargingSpeed) {
super(mark, model, price, year);
this.electricity = electricity;
this.chargingSpeed = chargingSpeed;
}
public float getElectricity() {
return electricity;
}
public void printValues() {
super.printValues();
System.out.println("-Особливості електрокару-");
System.out.println("Споживання електроенергії: " + electricity + " кВт·год/100км");
System.out.println("Швидкість зарядки (з 0% до 100%): " + chargingSpeed + " хв");
}
}

View File

@@ -1,73 +0,0 @@
package lab7;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// Використання пустого конструктора CarCollection
CarCollection<SportsCar> sportsCars = new CarCollection<>();
sportsCars.add(new SportsCar("Ferrari", "458 Italia", 230000, 2015, 9.8f, 562, 202, 4.5f));
sportsCars.add(new SportsCar("Lamborghini", "Huracan", 260000, 2020, 9.5f, 640, 211, 5.2f));
sportsCars.add(new SportsCar("Porsche", "911", 150000, 2018, 14.3f, 450, 191, 3.0f));
sportsCars.add(new SportsCar("McLaren", "570S", 200000, 2017, 11.2f, 562, 204, 3.8f));
sportsCars.add(new SportsCar("Aston Martin", "Vantage", 150000, 2021, 12.3f, 503, 195, 4.0f));
// Сортування спорткарів за ціною
System.out.println("~~~~~ Відсортовані спорткари за ціною ~~~~~");
sportsCars.sort(Comparator.comparingInt(SportsCar::getPrice));
for (int i = sportsCars.size() - 1; i >= 0; i--) {
sportsCars.get(i).printValues();
System.out.println();
}
// Використання конструктора CarCollection з передаванням в його лише один об'єкт
CarCollection<CombatsCar> combatsCars = new CarCollection<>(new CombatsCar("Humvee", "M1114", 220000, 1995, 6.5f, 4, 5.5f, "США"));
combatsCars.add(new CombatsCar("Puma", "IFV", 3500000, 2010, 10.7f, 6, 31f, "Німеччина"));
combatsCars.add(new CombatsCar("Warrior", "IFV", 4500000, 1988, 12.4f, 3, 29f, "Великобританія"));
combatsCars.add(new CombatsCar("ZBD", "05", 1200000, 2011, 9.4f, 4, 25f, "Китай"));
combatsCars.add(new CombatsCar("VBCI", "IFV", 5000000, 2008, 10.7f, 8, 32f, "Франція"));
// Пошук бойової машини за країною-виробником
Scanner scanner = new Scanner(System.in);
System.out.print("Введіть країну-виробницю бойової машини: ");
String userCountry = scanner.nextLine();
System.out.println("Результати пошуку:\n");
for (CombatsCar car : combatsCars) {
if (car.getCountry().equals(userCountry)) {
car.printValues();
}
}
ArrayList<ElectricCar> electricCarsList = new ArrayList<>();
electricCarsList.add(new ElectricCar("Tesla", "Model S", 80000, 2022, 21.5f, 45));
electricCarsList.add(new ElectricCar("Chevrolet", "Bolt", 35000, 2021, 28.0f, 60));
electricCarsList.add(new ElectricCar("Nissan", "Leaf", 32000, 2021, 24.0f, 40));
electricCarsList.add(new ElectricCar("BMW", "i3", 45000, 2021, 19.5f, 30));
electricCarsList.add(new ElectricCar("Hyundai", "Kona", 42000, 2022, 22.0f, 50));
// Використання конструктора CarCollection з передаванням в його колекцію об'єктів
CarCollection<ElectricCar> electricCars = new CarCollection<>(electricCarsList);
// Пошук автомобіля по діапазону споживання електроенергії
System.out.println("\nВведіть діапазон споживання електроенергії (кВт·год/100км):");
System.out.print("від ");
float electricityLowerLimit = scanner.nextFloat();
System.out.print("до ");
float electricityUpperLimit = scanner.nextFloat();
System.out.println("Результати пошуку:\n");
for (ElectricCar car : electricCars) {
if (car.getElectricity() < electricityUpperLimit & car.getElectricity() > electricityLowerLimit) {
car.printValues();
}
}
}
}

View File

@@ -1,28 +0,0 @@
package lab7;
public class SportsCar extends Car {
private final int power;
private final float speed;
private final float engineCapacity;
public SportsCar(String mark, String model, int price, int year, float fuel, int power, float speed, float engineCapacity) {
super(mark, model, price, year, fuel);
this.power = power;
this.speed = speed;
this.engineCapacity = engineCapacity;
}
public int getPrice() {
return price;
}
public void printValues() {
super.printValues();
System.out.println("-Особливості спорткару-");
System.out.println("Потужість: " + power + " кінських сил");
System.out.println("Максимальна швидкість: " + speed + " км/год");
System.out.println("Об'єм двигуна: " + engineCapacity + "л");
}
}

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[1]);
System.out.println("Hello world!");
// System.out.println(1);
}
void myFunction() {
}
int myFunction2() {
return 1;
}
}

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

View File

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

View File

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

View File

@@ -0,0 +1,7 @@
package encapsulationInheritancePolymorphism.inheritance;
public class Main {
public static void main(String[] args) {
ElectricEngine electricEngine = new ElectricEngine();
}
}

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