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
21 changed files with 584 additions and 340 deletions

2
.idea/misc.xml generated
View File

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

58
src/Lab1.java Normal file
View File

@@ -0,0 +1,58 @@
public class Lab1 {
public static void main(String[] args) {
// char c = 'a' + '1';
char c = 97;
// char c = '1';
System.out.println(c);
System.out.println((int) c);
c++;
System.out.println(c);
System.out.println((int) c);
System.out.println((double)'1'/'3');
// System.out.println( (double) 0 / 0 );
// System.out.println( Math.sqrt(-1) );
double s = 0;
/*for (int i = 1; i <= 3; i++) { // 1) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> i = 1, 2) <20><><EFBFBD><EFBFBD> <20> <= 3, 3) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 䳿 <20> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>,
System.out.println(i); // 4) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><> 1, 5) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> 2
// s = s + i;
s += i;
}*/
/*int[] array = new int[2];
for (int i = 0; i < array.length; i++) {
}*/
final int A = -3;
final int B = 0;
final int N = 2;
final int M = 2;
final int C = 1;
// boolean wasDivisionByZero = false;
// todo char
// todo[clear code] think about avoiding brackets
if ((A <= -C && -C <= N) || (B <= 0 && 0 <= M)) {
System.out.println("Division by zero!");
return;
}
/*myLabel:*/for (int i = A; i <= N /*&& !wasDivisionByZero*/; i++) {
/*if (i + C == 0) { // todo optimize
System.out.println("Division by zero!");
wasDivisionByZero = true;
break; //todo flag vs return;
}*/
for (int j = B; j <= M; j++) {
/*if (j == 0) {
System.out.println("Division by zero!");
return;
// wasDivisionByZero = true;
// break myLabel;
}*/
s += (double) (i / j) / (i + C);
}
}
// if (!wasDivisionByZero) {
System.out.println("s = " + s);
// }
}
}

139
src/Lab2.java Normal file
View File

@@ -0,0 +1,139 @@
public class Lab2 {
public static void main(String[] args) {
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]);
}
for (int i = 1; i < array.length; i+=2) {
System.out.println("?" + array[i]);
}
// зубчасті матриці
int[][] matrix = {
{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;
}
}

View File

@@ -1,45 +0,0 @@
import java.util.Scanner;
public class lab1 {
public static void main(String[] args){
Scanner scanner = new Scanner(System.in);
// 2131 % 7 = 3; C7 = long
long n, m, a, b;
float result, sum;
while(true) {
try {
System.out.println("Введіть n типу long:");
n = scanner.nextLong();
System.out.println("Введіть m типу long:");
m = scanner.nextLong();
System.out.println("Введіть a типу long:");
a = scanner.nextLong();
System.out.println("Введіть b типу long:");
b = scanner.nextLong();
break;
}catch(Exception e){
scanner.nextLine();
System.out.println("Введене неправильне число");
}
}
// 2131 % 5 = 1; O2 = /
// 2131 % 2 = 1; O1 = -
// 2131 % 3 = 1; C = 1
result = 0;
byte C = 1;
for(long i = a; i <= n; i++){
sum = 0;
for(long j = b; j <= m; j++){
if (i - C == 0 || j == 0){
System.out.println("Помилка ділення на 0");
System.exit(0);
}
sum += (float) (i/j)/(i-C);
}
result += sum;
}
System.out.println(result);
}
}

View File

@@ -1,51 +0,0 @@
public class lab2 {
public static void main(String[] args){
// 2131 % 7 = 3; C7 = int
int[][] matrix = {
{1,2,3,4,5},
{1,3,5,7,9},
{10,1,20,2,5}
};
int rows = matrix.length;
int column = matrix[0].length;
System.out.println("Матриця:");
for(int i = 0; i < rows; i++){
for (int j = 0; j < column; j++){
System.out.print(matrix[i][j]+" ");
}
System.out.println();
}
System.out.println();
// 2131 % 5 = 1; C5 = транспортування;
int[][] transportMatrix = new int[column][rows];
for(int i = 0; i < rows; i++){
for(int j = 0; j < column; j++){
transportMatrix[j][i] = matrix[i][j];
}
}
System.out.println("Транспонована матриця:");
for (int i = 0; i < column; i++){
for (int j = 0; j < rows; j++){
System.out.print(transportMatrix[i][j]+" ");
}
System.out.println();
}
System.out.println();
// 2131 % 11 = 8; C11 = Знайти середнє значення елементів кожного рядка матриці;
int sum;
for(int i = 0; i < rows; i++){
sum = 0;
for(int j = 0; j < column; j++){
sum += matrix[i][j];
}
System.out.println("Середнє арифметичне " + (i+1) + " строки = " + (float)sum/column);
}
}
}

View File

@@ -1,23 +0,0 @@
//C17 = 2131 % 17 = 6; Відсортувати слова заданого тексту за зростанням кількості голосних літер.
import create from 'prompt-sync';
const prompt = create();
class Sentence {
constructor() {
this.sentence = prompt("Input sentence: ");
}
sort() {
const words = this.sentence.split(/[\s.?!,;]/).filter((word) => word);
const vowels = /[AaEeiOoUuYy]/g
const sortedWords = words.sort((first, second) => {
const vowelsOfFirstWord = first.match(vowels)? first.match(vowels): [];
const vowelsOfSecondWord = second.match(vowels)? second.match(vowels): [];
return vowelsOfFirstWord.length-vowelsOfSecondWord.length;
});
return sortedWords.join(' ');
}
}
const sentence = new Sentence;
console.log(sentence.sort())

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

View File

@@ -1,46 +0,0 @@
//C11 = 2131%11 = 8; Визначити клас меблі, який складається як мінімум з 5-и полів.
//Створимо клас меблів
class Furniture{
constructor({model, width, height, length, price}) { //об'єкт класа буде створений на основі об'єкта для зручості, тому використовуємо деструктороване присвоєння, щоб не брати зайве.
this.model = model;
this.width = width;
this.height = height;
this.length = length;
this.price = price;
}
}
//Створимо об'єкти майбутніх об'єктів класу меблі
const chair = {
model: 'chair',
width: 1,
length: 1,
height: 1,
price: 500,
};
const table = {
model: 'table',
width: 3,
length: 2,
height: 1.5,
price: 1000,
};
const wardrobe = {
model: 'wardrobe',
width: 5,
length: 1,
height: 3,
price: 750,
};
//Створимо масив що складається з об'єктів класу
const furniture = [new Furniture(wardrobe), new Furniture(chair), new Furniture(table)];
//Відсрортуємо масив за алфавітним порядком;
console.log(furniture.sort((first, second) => first.model > second.model ? 1 : first.model < second.model ? -1 : 0));
//Відсортуємл масив за ціною за спаданням
console.log(furniture.sort((first, second) => second.price - first.price));

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

View File

@@ -1,103 +0,0 @@
class Text {
constructor(text) {
this.text = [];
const sentences = text.split(/[.?!;]/).filter((sentence) => sentence);
for (const sentence of sentences) {
this.text.push(new Sentence(sentence))
}
}
getText() {
let text = '';
for (const sentence of this.text) {
text += sentence.getSentence() + '. ';
}
return text;
}
getSortedText() {
let words = [];
const vowels = /[AaEeiOoUuYy]/g;
for (const sentence of this.text) {
words = words.concat(sentence.getWords());
}
const sortedWords = words.sort((first, second) => {
const vowelsOfFirstWord = first.match(vowels)? first.match(vowels): [];
const vowelsOfSecondWord = second.match(vowels)? second.match(vowels): [];
return vowelsOfFirstWord.length-vowelsOfSecondWord.length;
});
return sortedWords.join(' ');
}
}
class Sentence {
constructor(sentence) {
this.sentence = [];
const words = sentence.split(/[\s,:]/).filter((word) => word);
for (const word of words) {
this.sentence.push(new Word(word));
}
}
getSentence() {
let sentence = '';
for (const word of this.sentence) {
sentence += word.getWord();
if ( this.sentence[this.sentence.length-1] !== word) sentence += ' ';
}
return sentence;
}
getWords() {
let words = [];
for (const word of this.sentence) {
words.push(word.getWord());
}
return words;
}
}
class Word {
constructor(word) {
this.word = [];
for (const symbol of word) {
if (/[A-Za-z]/.test(symbol)){
this.word.push(new Letter(symbol));
} else if (/[0-9]/.test(symbol)) {
this.word.push(new Number(symbol));
}
}
}
getWord() {
let word = '';
for (const symbol of this.word) {
word += symbol.getSymbol();
}
return word
}
}
class Letter {
constructor(letter) {
this.letter = letter;
}
getSymbol() {
return this.letter;
}
}
class Number {
constructor(number) {
this.number = number;
}
getSymbol() {
return this.number;
}
}
const text = new Text('In late September or October, Martina elevated Constans to co-emperor, but also raised Heraclonas\'s brother Tiberius to co-emperor alongside them. Despite these overtures, Valentinus entered Constantinople shortly thereafter, deposed Heraclonas and Martina, and then elevated Constans to sole emperor. Heraclonas, Martina, Tiberius, and Martinus are said by John of Nikiu to have been escorted forth with insolence. Valentinus had Martinus nose cut off, emasculated him, and then banished his family to Rhodes, where they stayed until their deaths. According to some sources, the stress of the surgery killed Martinus immediately.');
console.log(text.getText());
console.log('\n' + text.getSortedText());

View File

@@ -1,71 +0,0 @@
console.log(2131 % 13)
class Room {
constructor(price, ...toys) {
this.toys = toys;
this.price = price;
if (this.getCurrentPrice() > price) throw new SyntaxError('We haven`t money for this');
}
addToy(toy) {
if (this.getCurrentPrice() + toy.getPrice() <= this.price) this.toys.push(toy);
else throw new SyntaxError('We haven`t money for this');
}
getCurrentPrice() {
let sum = 0;
for (const toy of this.toys) {
sum += toy.getPrice();
}
return sum;
}
getSortedToysByPrice() {
const sortedToys = this.toys.copyWithin();
return sortedToys.sort((firstToy, secondToy) => {
return firstToy.getPrice() - secondToy.getPrice();
});
}
getToyByPrice(lowerPrice, upperPrice) {
return this.toys.find((toy) => lowerPrice <= toy.getPrice() && toy.getPrice() <= upperPrice);
}
}
class Toy {
constructor(type, price, group) {
this.type = type;
this.price = price;
this.group = group;
}
getPrice() {
return this.price;
}
}
class Car extends Toy {
constructor(price, group) {
super('car', price, group);
}
}
class Ball extends Toy {
constructor(price, group) {
super('ball', price, group);
}
}
class Doll extends Toy {
constructor(price, group) {
super('doll', price, group);
}
}
const doll = new Doll(200, 'middle');
const ball = new Ball(150, 'young');
const car = new Car(300, 'old');
const room = new Room(1000, doll, ball, car);
console.log(room.getSortedToysByPrice())
console.log(room.getToyByPrice(201, 301));

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 @@
Фів фіке фівлоафждіо хщшіоекдодлфіідваол фі