mirror of
https://github.com/ASDjonok/OOP_IO-2x_2023.git
synced 2026-04-01 13:20:39 +03:00
Compare commits
11 Commits
ІО-21/31-Ц
...
ІО-24/30-Ф
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
cdad651c7f | ||
|
|
9d3fc9e85d | ||
|
|
f07b3b6617 | ||
|
|
1f0c160216 | ||
|
|
511422ad6c | ||
|
|
4f86e8cf76 | ||
|
|
9493c4974d | ||
|
|
66089802cc | ||
|
|
bbb463871e | ||
|
|
a7a259d3c6 | ||
|
|
8b6da131a0 |
2
.idea/misc.xml
generated
2
.idea/misc.xml
generated
@@ -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>
|
||||
184
Lab5
Normal file
184
Lab5
Normal 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
225
Lab6
Normal 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.");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
96
lab1 fedoniuk
Normal file
96
lab1 fedoniuk
Normal 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);
|
||||
}
|
||||
}
|
||||
}
|
||||
76
lab2
Normal file
76
lab2
Normal 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);
|
||||
}
|
||||
}
|
||||
|
||||
63
lab3
Normal file
63
lab3
Normal 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());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
115
lab4
Normal file
115
lab4
Normal 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()));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,35 +1,8 @@
|
||||
public class Main {
|
||||
public static void main(String[] args) {
|
||||
System.out.println(args[2]);
|
||||
System.out.println(args[1]);
|
||||
System.out.println("Hello world!");
|
||||
// System.out.println(1);
|
||||
|
||||
int a = 1;
|
||||
int b = 2;
|
||||
int c = 1;
|
||||
int d = 1;
|
||||
|
||||
System.out.println(2&1);
|
||||
System.out.println(2|1);
|
||||
int aa = 2;
|
||||
|
||||
/*if (aa) {
|
||||
|
||||
}*/
|
||||
|
||||
// System.out.println("a"&"b");
|
||||
System.out.println('a'&'b');
|
||||
|
||||
if ((a > b) & MyBooleanMethod()) {
|
||||
System.out.println("?????????????????????????");
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
static boolean MyBooleanMethod() {
|
||||
System.out.println("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
|
||||
return true;
|
||||
}
|
||||
|
||||
void myFunction() {
|
||||
|
||||
@@ -2,8 +2,4 @@ package encapsulationInheritancePolymorphism.inheritance;
|
||||
|
||||
public class ElectricEngine extends Engine {
|
||||
private String batteryType;
|
||||
|
||||
/*private class Engine {
|
||||
private int power;
|
||||
}*/
|
||||
}
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
package encapsulationInheritancePolymorphism.inheritance;
|
||||
|
||||
public class FuelEngine extends Engine {
|
||||
private String fuelType;
|
||||
}
|
||||
@@ -2,7 +2,6 @@ package encapsulationInheritancePolymorphism.inheritance;
|
||||
|
||||
public class Main {
|
||||
public static void main(String[] args) {
|
||||
ElectricEngine electricEngine = new ElectricEngine(); // створення нового об'єкту (екземпляру) класу ElectricEngine
|
||||
FuelEngine fuelEngine = new FuelEngine();
|
||||
ElectricEngine electricEngine = new ElectricEngine();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,14 +0,0 @@
|
||||
package encapsulationInheritancePolymorphism.polymorphism;
|
||||
|
||||
public class ElectricEngine extends Engine {
|
||||
private String batteryType;
|
||||
|
||||
@Override
|
||||
public int getPower() {
|
||||
return 20;
|
||||
}
|
||||
|
||||
/*private class Engine {
|
||||
private int power;
|
||||
}*/
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
package encapsulationInheritancePolymorphism.polymorphism;
|
||||
|
||||
public class Engine {
|
||||
private int power;
|
||||
|
||||
public int getPower() {
|
||||
return power;
|
||||
}
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
package encapsulationInheritancePolymorphism.polymorphism;
|
||||
|
||||
public class FuelEngine extends Engine {
|
||||
private String fuelType;
|
||||
|
||||
@Override
|
||||
public int getPower() {
|
||||
return 50;
|
||||
}
|
||||
}
|
||||
@@ -1,38 +0,0 @@
|
||||
package encapsulationInheritancePolymorphism.polymorphism;
|
||||
|
||||
/*import encapsulationInheritancePolymorphism.inheritance.ElectricEngine;
|
||||
import encapsulationInheritancePolymorphism.inheritance.FuelEngine;*/
|
||||
|
||||
public class Main {
|
||||
public static void main(String[] args) {
|
||||
/*encapsulationInheritancePolymorphism.inheritance.*/ElectricEngine electricEngine = new ElectricEngine(); // створення нового об'єкту (екземпляру) класу ElectricEngine
|
||||
/*encapsulationInheritancePolymorphism.inheritance.*/FuelEngine fuelEngine = new FuelEngine();
|
||||
|
||||
Engine engine1 = fuelEngine;
|
||||
|
||||
Engine[] engines = {
|
||||
electricEngine,
|
||||
fuelEngine
|
||||
};
|
||||
|
||||
for (Engine engine : engines) {
|
||||
System.out.println(engine.getPower());
|
||||
}
|
||||
|
||||
/*for (int i = 0; i < engines.length; i++) {
|
||||
System.out.println(engines[i].getPower());
|
||||
}*/
|
||||
|
||||
// +
|
||||
int a = 1;
|
||||
int b = 1;
|
||||
int c = a + b;
|
||||
System.out.println(c);
|
||||
|
||||
|
||||
String sA = "1";
|
||||
String sB = "1";
|
||||
String sC = sA + sB;
|
||||
System.out.println(sC);
|
||||
}
|
||||
}
|
||||
@@ -1,19 +0,0 @@
|
||||
package encapsulationInheritancePolymorphism.polymorphism.enhanced;
|
||||
|
||||
public class ElectricEngine extends Engine {
|
||||
private String batteryType;
|
||||
private int chargeLevel = 9;
|
||||
private int criticalChargeLevel = 10;
|
||||
private float coefficientCriticalPowerCut = 0.1f;
|
||||
|
||||
@Override
|
||||
public int getPower() {
|
||||
return chargeLevel > criticalChargeLevel
|
||||
? super.getPower()
|
||||
: (int) (super.getPower() * coefficientCriticalPowerCut);
|
||||
}
|
||||
|
||||
/*private class Engine {
|
||||
private int power;
|
||||
}*/
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
package encapsulationInheritancePolymorphism.polymorphism.enhanced;
|
||||
|
||||
public class Engine {
|
||||
private int power = 100;
|
||||
|
||||
public int getPower() {
|
||||
return power;
|
||||
}
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
package encapsulationInheritancePolymorphism.polymorphism.enhanced;
|
||||
|
||||
public class FuelEngine extends Engine {
|
||||
private String fuelType;
|
||||
|
||||
/*public int getPower() {
|
||||
return 50;
|
||||
}*/
|
||||
|
||||
}
|
||||
@@ -1,28 +0,0 @@
|
||||
package encapsulationInheritancePolymorphism.polymorphism.enhanced;
|
||||
|
||||
/*import encapsulationInheritancePolymorphism.inheritance.ElectricEngine;
|
||||
import encapsulationInheritancePolymorphism.inheritance.FuelEngine;*/
|
||||
|
||||
public class Main {
|
||||
public static void main(String[] args) {
|
||||
/*encapsulationInheritancePolymorphism.inheritance.*/
|
||||
ElectricEngine electricEngine = new ElectricEngine(); // створення нового об'єкту (екземпляру) класу ElectricEngine
|
||||
/*encapsulationInheritancePolymorphism.inheritance.*/
|
||||
FuelEngine fuelEngine = new FuelEngine();
|
||||
|
||||
Engine engine1 = fuelEngine;
|
||||
|
||||
Engine[] engines = {
|
||||
electricEngine,
|
||||
fuelEngine
|
||||
};
|
||||
|
||||
for (Engine engine : engines) {
|
||||
System.out.println(engine.getPower());
|
||||
}
|
||||
|
||||
/*for (int i = 0; i < engines.length; i++) {
|
||||
System.out.println(engines[i].getPower());
|
||||
}*/
|
||||
}
|
||||
}
|
||||
@@ -1,17 +0,0 @@
|
||||
package encapsulationInheritancePolymorphism.polymorphism.overload;
|
||||
|
||||
public class MyClassForOverloadExample {
|
||||
void myMethod(int a) {
|
||||
System.out.println("Integer: " + a);
|
||||
}
|
||||
|
||||
void myMethod(double a) {
|
||||
System.out.println("Double: " + a);
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
MyClassForOverloadExample overload = new MyClassForOverloadExample();
|
||||
overload.myMethod(1);
|
||||
overload.myMethod(0.1);
|
||||
}
|
||||
}
|
||||
@@ -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);
|
||||
|
||||
}
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
23
src/lab3.js
23
src/lab3.js
@@ -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())
|
||||
46
src/lab4.js
46
src/lab4.js
@@ -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));
|
||||
103
src/lab5.js
103
src/lab5.js
@@ -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());
|
||||
71
src/lab6.js
71
src/lab6.js
@@ -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));
|
||||
Reference in New Issue
Block a user