Compare commits

..

32 Commits

Author SHA1 Message Date
Oleksii Aleshchenko
1583e33ab3 update lab4 2023-05-25 16:04:54 +03:00
Oleksii Aleshchenko
277f8f82f6 update lab4 2023-05-25 15:06:01 +03:00
Oleksii Aleshchenko
eb2ffae473 update lab4 2023-05-18 16:03:31 +03:00
Oleksii Aleshchenko
f05125e298 Merge pull request #3 from Dymik739/commit-fix
Lab2: remove duplicate string to fix calculations
2023-05-11 16:12:29 +03:00
Oleksii Aleshchenko
ce73ebf1f5 update lab4 2023-05-11 16:10:42 +03:00
Oleksii Aleshchenko
31c3b96018 update Variant0.java 2023-05-11 15:46:43 +03:00
4eecffe040 Merge branch 'master' into commit-fix 2023-05-04 18:06:15 +03:00
Oleksii Aleshchenko
f7b11d9444 add Variant0.java for lab3 2023-05-04 15:59:21 +03:00
Oleksii Aleshchenko
bfdfd65153 add text for regex search 2023-05-04 15:29:07 +03:00
ae042010a6 remove duplicate string to fix calculations 2023-05-02 18:48:21 +03:00
Oleksii Aleshchenko
9b871b6a42 Merge remote-tracking branch 'origin/master' 2023-04-27 16:08:25 +03:00
Oleksii Aleshchenko
e41e64369b add test polymorphism example 2023-04-27 16:08:09 +03:00
Oleksii Aleshchenko
484bef389b upd lab3 2023-04-27 15:57:01 +03:00
455c991edb Випадково закомітив не туди) Все повернув 2023-04-17 21:00:20 +03:00
90d0f042a1 test 2023-04-17 20:59:13 +03:00
Oleksii Aleshchenko
1690d0f9e4 upd lab3 // add todo for lab4 2023-04-13 16:07:52 +03:00
Oleksii Aleshchenko
4531049ff2 add lab3 2023-04-06 16:07:04 +03:00
Oleksii Aleshchenko
07b17ca3cc upd lab2 (remove todo) 2023-04-06 15:34:29 +03:00
Oleksii Aleshchenko
a61c59bf48 upd lab2 2023-04-06 15:34:03 +03:00
Oleksii Aleshchenko
9ece98fece upd lab2 2023-04-06 15:04:51 +03:00
Oleksii Aleshchenko
81ac59840f Revert "Done lab 1-3"
This reverts commit 29e63163a4.
2023-04-04 22:33:00 +03:00
Oleksii Aleshchenko
1e6825d7d4 Revert "Delete lab1 directory"
This reverts commit 1af299f8f7.
2023-04-04 22:32:47 +03:00
Oleksii Aleshchenko
4087daef02 Revert "Delete lab2 directory"
This reverts commit 3bbb7c8e54.
2023-04-04 22:32:36 +03:00
Oleksii Aleshchenko
31ba116ad8 Revert "Delete lab3 directory"
This reverts commit 6fc3cc244e.
2023-04-04 22:32:00 +03:00
xivihwa
6fc3cc244e Delete lab3 directory 2023-04-04 17:44:45 +03:00
xivihwa
3bbb7c8e54 Delete lab2 directory 2023-04-04 17:44:38 +03:00
xivihwa
1af299f8f7 Delete lab1 directory 2023-04-04 17:44:30 +03:00
xivihwa
4924bbe62f Merge pull request #2 from ASDjonok/ІО-25/01-Антоненко-Віолетта-Станіславівна
Done lab 1-3
2023-04-04 17:41:26 +03:00
xivihwa
29e63163a4 Done lab 1-3 2023-04-04 17:40:44 +03:00
Oleksii Aleshchenko
399941844f update lab2 2023-03-30 15:50:18 +03:00
Oleksii Aleshchenko
f385bff73d update lab2 2023-03-30 15:29:02 +03:00
Oleksii Aleshchenko
6d8171ad4c update lab2 2023-03-23 16:04:49 +02:00
25 changed files with 667 additions and 284 deletions

2
.gitignore vendored Normal file
View File

@@ -0,0 +1,2 @@
# Project exclude paths
/out/

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>

View File

@@ -1,40 +0,0 @@
using System;
public class Laba2
{
public static void Main(string[] args)
{
const int a = 2;
int[,] b = new[,] //створення матриці;
{
{ 1, 2, 8 },
{ 3, 4, 5 },
{ 6, 7, 9 }
};
int rows = b.GetLength(0); //отримання довжини рядків
int cols = b.GetLength(1); //отримання довжини стовпців
for (int i = 0; i < rows; i++)
{
int Avg = 0;
for (int j = 0; j < cols; j++)
{
Console.Write(b[i, j] + " "); // перебір матриці для обчислення середнього значення рядка
Avg += b[i, j];
}
Avg = Avg / cols;
Console.Write($"-average of row is:{Avg};" );
Console.WriteLine(" ");
}
Console.WriteLine(" ");
for (int x = 0; x < rows; x++)
{
for (int y = 0; y < cols; y++)
{
Console.Write(b[x, y] * a + " "); //виведення матриці, помноженої на константу
}
Console.WriteLine(" ");
}
}
}

View File

@@ -1,33 +0,0 @@
using System;
using System.Collections.Generic;
class Lab3
{
public static void Main(string[] args)
{
string text = "Вухатий великий синiй слон. Яблуко в саду. Зелене яблуко? Груша. Жовта слива висить у саду!";
Console.WriteLine(text );
// розділяємо текст на окремі речення
string[] textSplit = text.Split(new[] { '.', '?', '!' }, StringSplitOptions.RemoveEmptyEntries);
// обчислюємо кількість слів у кожному реченні та створюємо масив з кількістю слів у реченнях
int[] amountOfWords = new int[textSplit.Length];
for (int i = 0; i < textSplit.Length; i++)
{
string[] words = textSplit[i].Trim().Split(' ', StringSplitOptions.RemoveEmptyEntries);
amountOfWords[i] = words.Length;
}
// створюємо Dictionary, де ключ - кількість слів у реченні, а значення - речення
Dictionary<string, int> sentenceDictionary = new Dictionary<string, int>();
for (int i = 0; i < textSplit.Length; i++)
{
sentenceDictionary.Add(textSplit[i],amountOfWords[i] );
}
var sortedDict = sentenceDictionary.OrderBy(x => x.Value).ToDictionary(x => x.Key, x => x.Value);
Console.WriteLine(String.Join(";", sortedDict.Keys));
}
}

View File

@@ -1,86 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApp1
{
class Furniture
{
// 5 полів
private string type;
private string material;
private string color;
private int price;
private int amount;
// конструктор з атрибутами
public Furniture(string type, string material, string color, int price, int amount)
{
this.type = type;
this.material = material;
this.color = color;
this.price = price;
this.amount = amount;
}
// методи для повернення атрибутів
public string getType()
{
return type;
}
public string getMaterial()
{
return material;
}
public string getColor()
{
return color;
}
public int getPrice()
{
return price;
}
public int getAmount()
{
return amount;
}
public static void Main(string[] args)
{
Furniture[] furnitureArr = {
new Furniture("шафа", "дерево", "коричневий", 5000, 2),
new Furniture("стiл", "скло", "чорний", 3000, 3),
new Furniture("лiжко", "метал", "срiблястий", 8000, 1),
new Furniture("диван", "тканина", "сiрий", 10000, 2),
new Furniture("стiлець", "метал", "синій", 500, 4)
};
// Сортування масиву за ціною за зростанням
var sorted = furnitureArr.OrderBy(ob => ob.price).ToArray();
// Вивести відсортований масив
Console.WriteLine("Всортований за цiною (за зростанням):");
foreach (Furniture f in sorted)
{
Console.WriteLine(f.getType() + " - " + f.getPrice() + " грн;");
}
Console.WriteLine(' ');
// Сортування масиву за кількістю за спаданням
var sortedReversery = furnitureArr.OrderBy(ob => ob.amount).ToArray().Reverse();
// Вивести відсортований масив
Console.WriteLine("Всортований за кiлькiстю (за спаданням):");
foreach (Furniture f in sortedReversery)
{
Console.Write($"{f.getType()} - {f.getAmount()}; " );
}
Console.WriteLine(' ');
}
}
}

View File

@@ -1,121 +0,0 @@
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Formats.Asn1;
// Визначити ієрархію рухомого складу залізничного транспорту.Створити пасажирський потяг.Порахувати загальну чисельність пасажирів і багажу в потязі.
// Провести сортування вагонів потягу за рівнем комфортності. Знайти вагон в потязі, що відповідає заданому діапазону кількості пасажирів.
class Lab6
{
public static void Main(string[] args)
{
List<Wagons> wagons = new List<Wagons>(); //створюємо лист-список вагонів;
// Додаємо вагони за допомогою класу Wagons;
wagons.Add(new Wagons.PassengerWagons("Пасажирський", 100, 100, "Вищий", 10));
wagons.Add(new Wagons.PassengerWagons("Пасажирський", 50, 48, "Середнiй", 20));
wagons.Add(new Wagons.PassengerWagons("Пасажирський", 20, 15, "Низький", 30));
wagons.Add(new Wagons.FreightWagons("Вантажний", 10, 10));
wagons.Add(new Wagons.FreightWagons("Вантажний", 20, 20));
wagons.Add(new Wagons.FreightWagons("Вантажний", 30, 30));
Console.WriteLine("Усi вагони:"); //відображення всіх вагонів;
foreach (Wagons wagon in wagons)
{
Console.WriteLine(wagon.GetType() + ": " + wagon.GetPassengers() + " пасажирiв(-а), " + wagon.GetBaggage() +
" валiз/контейнерiв, " + wagon.GetComfort() + ", " + wagon.GetAmount() + ";");
}
int amountOfPassangers = 0; //обчислення загальної кількості пасажирів;
foreach (Wagons p in wagons)
{
amountOfPassangers += p.GetPassengers();
}
var sorted = wagons.OrderByDescending(ob => ob.GetComfort()).ToArray(); //сортування вагонів за рівнем комфорту;
Console.WriteLine("\nКiлькiсть пасажиру пасажирському вагонi: " + amountOfPassangers + ";");
Console.WriteLine("\nВеддiть мiнiмальну кiлькiсть пасажирiв: ");
var minPassangers = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Веддiть максимальну кiлькiсть пасажирiв: ");
var maxPassangers = Convert.ToInt32(Console.ReadLine());
foreach (Wagons t in wagons)
{
if (t.GetPassengers() != null && t.GetPassengers() >= minPassangers && t.GetPassengers() <= maxPassangers) //пошук вагону за кількістю пасажирів;
{
Console.Write(t.GetType() + " - " + t.GetPassengers()+"; ");
}
else
{
throw (new InvalidOperationException("Немає такого вагону;"));
}
}
}
class Wagons
{
private string type; // тип вагону
private int passengers; // кількість пасажирів
private int baggage; // кількість багажу в тоннах
private string comfort; // рейтиг комфорту вагону
private int amount; // кількість вагонів
public Wagons(string type, int? passengers, int? baggage, string comfort, int amount) //конструктор вагонів;
{
this.type = type;
this.passengers = Convert.ToInt32(passengers);
this.baggage = Convert.ToInt32(baggage);
this.comfort = comfort;
this.amount = amount;
}
public string GetType() //геттери атрибутів класу;
{
return type;
}
public int GetPassengers()
{
return passengers;
}
public int? GetBaggage()
{
return baggage;
}
public string GetComfort()
{
return comfort;
}
public int GetAmount()
{
return amount;
}
// підклас Пасажирський вагон який наслідує батьківський клас Вагони;
public class PassengerWagons : Wagons
{
public PassengerWagons(string type, int passengers, int baggage, string comfort, int amount) : base(type,
passengers, baggage, comfort, amount)
{
}
}
// підклас Вантажний вагон який наслідує батьківський клас Вагони;
public class FreightWagons : Wagons
{
public FreightWagons(string type, int baggage, int amount) : base(type, null, baggage, null, amount)
{
}
}
}
}

11
OOP_IO-2x_2023.iml Normal file
View File

@@ -0,0 +1,11 @@
<?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 +0,0 @@
Files with lab2,3,4 located in in Lab3. My excuses for confusing you

View File

@@ -1,13 +1,44 @@
public class Lab2 {
public static void main(String[] args) {
int[] array = {1, 2, 3};
/*for (int i = 0; i < array.length; i++) {
final int A = 2;
final int[][] MATRIX_B = {
{1, 202, 1, 1, 202, 3, 1, 202, 3,},
{1, 202, 1, 1, 202, 3, 1, 202, 3, 4},
{1, 1, 3, 1, 202, 3, 1, 202, 3,},
// {4, 5, 6,},
};
int[][] MATRIX_C = multiplication(A, MATRIX_B);
print(MATRIX_C);
// System.out.println("Sum of smallest elements in every column: " + sumOfSmallestElementsInEveryColumn(MATRIX_C));
try {
System.out.println("Sum of smallest elements in every column: " + sumOfSmallestElementsInEveryColumnRenew(MATRIX_C));
System.out.println("???...");
} catch (Exception e) {
System.err.println(e.getMessage());
}
System.out.println("I'm still working...");
/*int[] array = {1, 2, 3};
int[] array2 = new int[3];
Object[] array3 = new String[3];
System.out.println(array3[0]); //nothing, trash from the memory, null || null
System.out.println(array2[0]); //nothing, trash from the memory, null || 0
System.out.println(array[0]); // || 1
int[][] matrix2 = new int[2][3];
matrix2[0] = new int[2];
matrix2[1] = new int[1];
for (int i = 0; i < array.length; i++) {
if (i % 2 == 0) {
System.out.println("!" + array[i]);
} else {
System.out.println("?" + array[i]);
}
}*/
}
for (int i = 0; i < array.length; i+=2) {
System.out.println("!" + array[i]);
@@ -22,5 +53,87 @@ public class Lab2 {
{1, 2},
{3}
};
// C=a×B, a - const
// final int[][] MATRIX_C = int;
MATRIX_B[0][0] = 2;
MATRIX_B[0] = new int[]{1, 2};
System.out.println(MATRIX_B[0][0]);
MATRIX_B = new int[][]{
{1, 2},
{3}
};*/
}
private static int sumOfSmallestElementsInEveryColumn(final int[][] MATRIX_C) {
// todo check different length of rows
// todo try to change i and j
// todo check repetition of minimal elements
int sum = 0;
for (int i = 0; i < MATRIX_C[0].length; i++) {
int tmpSmallest = MATRIX_C[0][i];
for (int j = 1; j < MATRIX_C.length; j++) {
if (MATRIX_C[j][i] < tmpSmallest) {
tmpSmallest = MATRIX_C[j][i];
}
}
sum += tmpSmallest;
}
return sum;
}
private static int sumOfSmallestElementsInEveryColumnRenew(final int[][] MATRIX_C) throws Exception {
// todo check different length of rows
for (int i = 1; i < MATRIX_C.length; i++) {
if (MATRIX_C[i].length != MATRIX_C[0].length) {
throw new /*Runtime*/Exception("There are different lengths of matrix rows.");
// System.err.println("There are different lengths of matrix rows.");
// System.exit(0);
}
}
int sum = 0;
for (int j = 0; j < MATRIX_C[0].length; j++) {
int tmpSmallest = MATRIX_C[0][j];
boolean valueRepeats = false;
for (int i = 1; i < MATRIX_C.length; i++) {
if (MATRIX_C[i][j] < tmpSmallest) {
tmpSmallest = MATRIX_C[i][j];
valueRepeats = false;
} else if (MATRIX_C[i][j] == tmpSmallest) {
valueRepeats = true;
}
}
if (!valueRepeats) {
sum += tmpSmallest;
}
}
return sum;
}
private static void print(final int[][] MATRIX_C) {
for (int i = 0; i < MATRIX_C.length; i++) {
for (int j = 0; j < MATRIX_C[i].length; j++) {
// System.out.print(MATRIX_C[i][j] + "\t");//printf("%4d",
System.out.printf("%4d ", MATRIX_C[i][j]);//printf("%4d",
}
System.out.println();
}
}
private static int[][] multiplication(int A, final int[][] MATRIX_B) {
final int[][] MATRIX_C = new int[MATRIX_B.length][/*MATRIX_B[0].length*/]; // todo !!!DANGER different lengths of rows
// final int[][] MATRIX_C = MATRIX_B;
for (int i = 0; i < MATRIX_B.length; i++) {
MATRIX_C[i] = new int[MATRIX_B[i].length];
for (int j = 0; j < MATRIX_B[i].length; j++) {
MATRIX_C[i][j] = MATRIX_B[i][j] * A;
}
}
return MATRIX_C;
}
}

75
src/lab3/Lab3.java Normal file
View File

@@ -0,0 +1,75 @@
package lab3;
public class Lab3 {
private static final int REPETITION_NUMBER = 10;
public static void main(String[] args) {
StringBuilder result = new StringBuilder();
for (int i = 0; i < REPETITION_NUMBER; i++) {
// result += Integer.toString(i);
// result += String.valueOf(i);
result.append(i);
}
/*float f = 1.1f;
double d = 2.2;
// f = (float) (f + d);
f += d;*/
String s = "ASD";
StringBuilder stringBuilder = new StringBuilder("ASD");
StringBuffer stringBuffer = new StringBuffer("ASD");
stringBuilder.append("A");
System.out.println(s.length());
System.out.println(stringBuilder.length());
System.out.println(stringBuffer.length());
System.out.println(s.endsWith("D"));
// System.out.println(stringBuilder.substring(stringBuilder.length() - 1).equals("A"));
System.out.println("A".equals(stringBuilder.substring(stringBuilder.length() - 1)));
System.out.println("A".equals(stringBuffer.substring(stringBuffer.length() - 1)));
String sNull = null;
System.out.println("A".equals(sNull));
System.out.println(sNull.equals("A"));
System.out.println(s.substring(2));
System.out.println(s.contains("AS"));
System.out.println(s.indexOf('a'));
// System.out.println(s.charAt(-1));
System.out.println("s.equalsIgnoreCase(\"AsD\") = " + s.equalsIgnoreCase("AsD"));
String s2 = s;
System.out.println("s2 = " + s2);
System.out.println(s == s2); // true?
System.out.println(s.equals(s2)); // true?
s += "B";
System.out.println(s);
System.out.println("s2 = " + s2);
System.out.println(s == s2); // false?
System.out.println(s.equals(s2)); // false?
String s3 = new String("ASD");
System.out.println(s3 == s2); // true? (false)
System.out.println(s3.equals(s2)); // false? (true)
// String Pool
String s4 = "ASD";
// String s5 = new String("ASD");
String s5 = "AS";
s5 += "D";
System.out.println(s4 == s5); // true? (SP)
System.out.println(s4.equals(s5)); // (true)
System.out.println("Done!");
}
}

66
src/lab3/Variant0.java Normal file
View File

@@ -0,0 +1,66 @@
package lab3;
import java.util.Arrays;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
/**
* Знайти найбільшу кількість речень заданого тексту, в яких є однакові слова.
*/
public class Variant0 {
public static void main(String[] args) {
System.out.println("\\");
String textString = "Aa, a b. Bb a? B a! B a. Ccc.";
// final String[] sentencesStrings = textString.split("(?<=(\\.|!|\\?)) ");
// final String[] sentencesStrings = textString.split("(?<=[.!?]) ");
final String[] sentencesStrings = textString.split("[.!?] ?");
for (String sentencesString : sentencesStrings) {
System.out.println("[" + sentencesString + "]");
}
System.out.println("++++++++++++");
final String[][] wordsStringsBySentences = new String[sentencesStrings.length][];
for (int i = 0; i < sentencesStrings.length; i++) {
wordsStringsBySentences[i] = sentencesStrings[i].split(",? ");
}
for (String[] wordsStrings : wordsStringsBySentences) {
for (String wordsString : wordsStrings) {
System.out.print("[" + wordsString + "] - ");
}
System.out.println();
}
Set<String> originalWordsStrings = new HashSet();
for (String[] wordsStrings : wordsStringsBySentences) {
for (String wordsString : wordsStrings) {
originalWordsStrings.add(wordsString.toLowerCase());
}
}
final String[] originalWordsArray = originalWordsStrings.toArray(new String[0]);
System.out.println("++++++++++++");
for (Object originalWordsString : originalWordsStrings) {
System.out.println(originalWordsString);
}
int[] entersQuantitiesOriginalWordsInSentences = new int[originalWordsArray.length];
for (int i = 0; i < originalWordsArray.length; i++) {
String originalWord = originalWordsArray[i];
for (String[] words : wordsStringsBySentences) {
for (String word : words) {
if (originalWord.equalsIgnoreCase(word)) {
entersQuantitiesOriginalWordsInSentences[i]++;
break;
}
}
}
}
// todo show greatest value from entersQuantitiesOriginalWordsInSentences
// System.out.println(Arrays.toString(sentencesStrings));
System.out.println("++++++++++++");
}
}

93
src/lab4/Furniture.java Normal file
View File

@@ -0,0 +1,93 @@
package lab4;
///**
// * My class Furniture.
// */
//todo uncomment /*<Furniture>*/
public /*abstract*/ class Furniture/*<T>*/ implements Comparable<Furniture> {
/**
*
*/
private String material;
private int length;
private int height;
private int width;
private int price;
// private T additional;
// public void setAdditional(T additional) {
// this.additional = additional;
// }
/**
* @param material
* @param length
* @param height
* @param width
* @param price
*/
public Furniture(String material, int length, int height, int width, int price) {
// this.material = material;
setMaterial(material);
this.length = length;
this.height = height;
this.width = width;
this.price = price;
}
public void setMaterial(String material) {
this.material = material;
}
public String getMaterial() {
return material;
}
public int getLength() {
return length;
}
public int getHeight() {
return height;
}
public int getWidth() {
return width;
}
public int getPrice() {
return price;
}
/*public Furniture() {
}*/
@Override
public String toString() {
return "Furniture{" +
"material='" + material + '\'' +
", length=" + length +
", height=" + height +
", width=" + width +
", price=" + price +
'}';
}
// @Override
// public int compareTo(Object o) {
// return /*this.*/price - ((Furniture) o).price;
//// return /*this.*/material.compareTo(((Furniture) o).material);
// }
@Override
public int compareTo(Furniture o) {
final int priceDifference = price - o.price;
return priceDifference != 0
? priceDifference
// : -material.compareTo(o.material);
: o.material.compareTo(material);
}
}

84
src/lab4/Main.java Normal file
View File

@@ -0,0 +1,84 @@
package lab4;
import java.util.Arrays;
import java.util.Comparator;
public class Main {
public static void main(String[] args) {
System.out.println(Integer.MIN_VALUE - 1);
//todo equals+hashcode
// todo JavaDoc
final Furniture/*<Furniture>*/ furniture1 = new Furniture("A", 1, 1, 1, 1);
final Furniture/*<String>*/ furniture2 = new Furniture("F", 1, 1, 1, 4);
System.out.println(furniture1.compareTo(furniture2));
// System.out.println(furniture1.compareTo("furniture2"));
Furniture[] furnitureArray = {
furniture1,
furniture2,
new Furniture("B", 1, 2, 1, 1),
new Furniture("C", 1, 1, 3, 1),
};
for (Furniture furniture : furnitureArray) {
// System.out.println(furniture.getMaterial() + " " + furniture.getPrice());
System.out.println(furniture);
}
System.out.println("+++++++++++++");
// furniture1.setAdditional(new Furniture("Y", 1, 1, 1, 0));
// furniture2.setAdditional("new Furniture(\"Y\", 1, 1, 1, 0)");
// furnitureArray[0].setMaterial("E");
Arrays.sort(furnitureArray, (o1, o2) -> o1.getMaterial().compareTo(o2.getMaterial()));
for (Furniture furniture : furnitureArray) {
System.out.println(furniture);
}
System.out.println("+++++++++++++");
// todo check
Arrays.sort(furnitureArray, (o1, o2) -> Integer.compare(o2.getPrice(), o1.getPrice()));
for (Furniture furniture : furnitureArray) {
System.out.println(furniture);
}
System.out.println("+++++++++++++");
/*Arrays.sort(furnitureArray);
for (Furniture furniture : furnitureArray) {
System.out.println(furniture);
}
System.out.println("+++++++++++++");*/
/*Arrays.sort(furnitureArray, new PriceFurnitureComparator());
for (Furniture furniture : furnitureArray) {
System.out.println(furniture);
}
System.out.println("+++++++++++++");*/
/*Arrays.sort(furnitureArray, new Comparator<Furniture>() {
@Override
public int compare(Furniture o1, Furniture o2) {
return o1.getMaterial().compareTo(o2.getMaterial());
}
});*/
// Arrays.sort(furnitureArray, (o1, o2) -> o1.getMaterial().compareTo(o2.getMaterial()));
// Arrays.sort(furnitureArray, Comparator.comparing(Furniture::getMaterial));
// Arrays.sort(furnitureArray, Comparator.comparing(Furniture::getMaterial).reversed());
// Arrays.sort(furnitureArray, Comparator.comparing(Furniture::getPrice)
// .thenComparing(Furniture::getMaterial).reversed());
Arrays.sort(furnitureArray, Comparator.comparing(Furniture::getPrice)
.thenComparing(Comparator.comparing(Furniture::getMaterial).reversed()));
for (Furniture furniture : furnitureArray) {
System.out.println(furniture);
}
System.out.println("+++++++++++++");
}
}

View File

@@ -0,0 +1,11 @@
package lab4;
import java.util.Comparator;
public class MaterialFurnitureComparator implements Comparator<Furniture> {
@Override
public int compare(Furniture o1, Furniture o2) {
return o1.getMaterial().compareTo(o2.getMaterial());
}
}

View File

@@ -0,0 +1,11 @@
package lab4;
import java.util.Comparator;
public class PriceFurnitureComparator implements Comparator<Furniture> {
@Override
public int compare(Furniture o1, Furniture o2) {
return o1.getPrice() - o2.getPrice();
}
}

13
src/test/Test.java Normal file
View File

@@ -0,0 +1,13 @@
package test;
public class Test {
public static void main(String[] args) {
}
static int m(){
System.exit(0);
// return 1;
System.out.println(123);
return 1;
}
}

7
src/test/one/A.java Normal file
View File

@@ -0,0 +1,7 @@
package test.one;
public class A implements MyMethodInterface {
public void myMethod() {
}
}

7
src/test/one/B.java Normal file
View File

@@ -0,0 +1,7 @@
package test.one;
public class B implements MyMethodInterface {
public void myMethod() {
}
}

13
src/test/one/Main.java Normal file
View File

@@ -0,0 +1,13 @@
package test.one;
public class Main {
public static void main(String[] args) {
Object[] objects = {
new A(),
new B(),
};
for (Object object : objects) {
((MyMethodInterface)object).myMethod();
}
}
}

View File

@@ -0,0 +1,5 @@
package test.one;
public interface MyMethodInterface {
void myMethod();
}

1
test.txt Normal file
View File

@@ -0,0 +1 @@
Фів фіке фівлоафждіо хщшіоекдодлфіідваол фі