mirror of
https://github.com/ASDjonok/OOP_IO-2x_2023.git
synced 2026-04-01 21:21:50 +03:00
Compare commits
13 Commits
ІО-24/30-Ф
...
IO-24/02-Б
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
531238a935 | ||
|
|
879d207e0d | ||
|
|
fc4a97f8ea | ||
|
|
e1258c2542 | ||
|
|
a39494a9c8 | ||
|
|
0c4e5d3e89 | ||
|
|
5c75c2bef1 | ||
|
|
4fce8c914c | ||
|
|
71baf63a21 | ||
|
|
0b16cf927b | ||
|
|
0ba52b8eaf | ||
|
|
86e06c3a5a | ||
|
|
dca4d9f449 |
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_18" default="true" project-jdk-name="openjdk-18" project-jdk-type="JavaSDK">
|
||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_17" default="true" project-jdk-name="17" project-jdk-type="JavaSDK">
|
||||
<output url="file://$PROJECT_DIR$/out" />
|
||||
</component>
|
||||
</project>
|
||||
184
Lab5
184
Lab5
@@ -1,184 +0,0 @@
|
||||
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
225
Lab6
@@ -1,225 +0,0 @@
|
||||
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.");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,96 +0,0 @@
|
||||
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
76
lab2
@@ -1,76 +0,0 @@
|
||||
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
63
lab3
@@ -1,63 +0,0 @@
|
||||
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
115
lab4
@@ -1,115 +0,0 @@
|
||||
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()));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
43
src/IO_24/_02_Бондаренко_Тарас_Андрійович/lab1/Lab1.java
Normal file
43
src/IO_24/_02_Бондаренко_Тарас_Андрійович/lab1/Lab1.java
Normal file
@@ -0,0 +1,43 @@
|
||||
package IO_24._02_Бондаренко_Тарас_Андрійович.lab1;
|
||||
|
||||
import java.util.Scanner;
|
||||
|
||||
public class Lab1 {
|
||||
public static void main(String[] args) {
|
||||
// O1 = +
|
||||
// C = 2
|
||||
// O2 = %
|
||||
// i, j = short(-32.768 to 32.768)
|
||||
final int c = 2;
|
||||
double result = 0;
|
||||
Scanner scan = new Scanner(System.in);
|
||||
System.out.print("Enter a: ");
|
||||
int a = scan.nextInt();// Entering a
|
||||
System.out.print("Enter b: ");
|
||||
int b = scan.nextInt();// Entering b
|
||||
System.out.print("Enter n: ");
|
||||
int n = scan.nextInt();// Entering n
|
||||
System.out.print("Enter m: ");
|
||||
int m = scan.nextInt();// Entering m
|
||||
scan.close();
|
||||
|
||||
if (a <= -c && n >= -c || b <= 0 && m >= 0) {
|
||||
System.out.println("Error! Division by zero");
|
||||
return;
|
||||
}
|
||||
else if(a > n || b > m){
|
||||
result = 0;
|
||||
System.out.println(result);
|
||||
return;
|
||||
}
|
||||
|
||||
for (short i = (short) a; i <= n; i++) {
|
||||
for (short j = (short) b; j <= m; j++) {
|
||||
result += (double) (i % j) / (i + c); //Calculation of the result
|
||||
}
|
||||
}
|
||||
System.out.println("\ns = " + result); // Outputting the result
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
84
src/IO_24/_02_Бондаренко_Тарас_Андрійович/lab2/Lab2.java
Normal file
84
src/IO_24/_02_Бондаренко_Тарас_Андрійович/lab2/Lab2.java
Normal file
@@ -0,0 +1,84 @@
|
||||
package IO_24._02_Бондаренко_Тарас_Андрійович.lab2;
|
||||
|
||||
import java.util.Scanner;
|
||||
|
||||
public class Lab2 {
|
||||
public static void main(String[] args) {
|
||||
// C5 = 2
|
||||
// C7 = 1
|
||||
// C11 = 4
|
||||
Scanner scan = new Scanner(System.in);
|
||||
System.out.print("Enter the number of matrix rows: ");
|
||||
int m = scan.nextInt();
|
||||
System.out.print("Enter the number of matrix columns: ");
|
||||
int n = scan.nextInt();
|
||||
|
||||
System.out.println("\nFilling matrix A:");
|
||||
byte[][] matrixA = new byte[m][n]; // Creating MxN matrix A
|
||||
scanMatrix(matrixA, scan);
|
||||
|
||||
System.out.println("\nMatrix A"); // Printing matrix A
|
||||
printMatrix(matrixA);
|
||||
|
||||
System.out.println("\nFilling matrix B:");
|
||||
byte[][] matrixB = new byte[m][n];// Creating MxN matrix B
|
||||
scanMatrix(matrixB, scan);
|
||||
|
||||
scan.close();
|
||||
|
||||
System.out.println("\nMatrix B:");// Printing matrix B
|
||||
printMatrix(matrixB);
|
||||
|
||||
System.out.println("\nMatrix C:");
|
||||
byte[][] matrixC = new byte[m][n];// Creating matrix C
|
||||
for (byte i = 0; i < m; i++) {
|
||||
for (byte j = 0; j < n; j++) {
|
||||
matrixC[i][j] = (byte) (matrixA[i][j] + matrixB[i][j]);
|
||||
System.out.print(matrixC[i][j] + "\t ");
|
||||
}
|
||||
System.out.println();
|
||||
}
|
||||
|
||||
byte evenSum = 0; // Sum for the largest numbers in even rows
|
||||
byte oddSum = 0;// Sum for the smallest numbers in even rows
|
||||
|
||||
for (byte i = 0; i < matrixC.length; i++) {
|
||||
byte largest = Byte.MIN_VALUE; // variable for largest element
|
||||
byte smallest = Byte.MAX_VALUE;// variable for smallest element
|
||||
for (byte j = 0; j < matrixC[i].length; j++) {
|
||||
if (i % 2 == 0) {
|
||||
smallest = (byte) Math.min(smallest, matrixC[i][j]);
|
||||
} else {
|
||||
largest = (byte) Math.max(largest, matrixC[i][j]);
|
||||
}
|
||||
}
|
||||
if (i % 2 == 0) {
|
||||
oddSum += smallest;
|
||||
} else {
|
||||
evenSum += largest;
|
||||
}
|
||||
}
|
||||
|
||||
System.out.println("\nSum of the biggest elements: " + evenSum);
|
||||
System.out.println("Sum of the smallest elements: " + oddSum);
|
||||
}
|
||||
|
||||
private static void scanMatrix(byte[][] matrix, Scanner scan) { //Method for filling matrix
|
||||
for (byte i = 0; i < matrix.length; i++) {
|
||||
for (byte j = 0; j < matrix[i].length; j++) {
|
||||
System.out.printf("Enter element [%d][%d]", i, i);
|
||||
matrix[i][j] = scan.nextByte();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static void printMatrix(byte[][] matrix) {//Method for printing matrix
|
||||
for (byte[] row : matrix) {
|
||||
for (byte el : row) {
|
||||
System.out.print(el + "\t ");
|
||||
}
|
||||
System.out.println();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
25
src/IO_24/_02_Бондаренко_Тарас_Андрійович/lab3/Lab3.java
Normal file
25
src/IO_24/_02_Бондаренко_Тарас_Андрійович/lab3/Lab3.java
Normal file
@@ -0,0 +1,25 @@
|
||||
package IO_24._02_Бондаренко_Тарас_Андрійович.lab3;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
public class Lab3 {
|
||||
// String
|
||||
// Надрукувати слова без повторень заданого тексту в алфавітному порядку за першою літерою.
|
||||
|
||||
public static void main(String[] args) {
|
||||
String text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Mauris a diam maecenas sed enim ut sem viverra. Amet est placerat in egestas erat imperdiet. Sed turpis tincidunt id aliquet risus. Amet porttitor eget dolor morbi non arcu risus quis. Elementum nibh tellus molestie nunc non blandit massa. Feugiat scelerisque varius morbi enim nunc faucibus. Ipsum faucibus vitae aliquet nec ullamcorper sit amet risus nullam. Quis enim lobortis scelerisque fermentum dui faucibus in. Sem viverra aliquet eget sit amet tellus cras adipiscing enim. Sed ullamcorper morbi tincidunt ornare. Sodales ut eu sem integer vitae justo eget magna. Mi ipsum faucibus vitae aliquet nec ullamcorper.";
|
||||
String[] words = text.split("[\\p{Punct}\\s]+");
|
||||
List<String> wordList = new ArrayList<>(Arrays.asList(words));//Class ArrayList implements interface List
|
||||
// asList returns immutable list
|
||||
Set<String> wordSet = new HashSet<>(wordList);// Class HashSet implements interface Set
|
||||
wordList.clear();
|
||||
wordList.addAll(wordSet);
|
||||
wordList.sort(String::compareToIgnoreCase);
|
||||
wordList.sort((o1, o2) -> o1.compareToIgnoreCase(o2));
|
||||
|
||||
for (String element : wordList) {
|
||||
System.out.println(element);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
34
src/IO_24/_02_Бондаренко_Тарас_Андрійович/lab4/Boat.java
Normal file
34
src/IO_24/_02_Бондаренко_Тарас_Андрійович/lab4/Boat.java
Normal file
@@ -0,0 +1,34 @@
|
||||
package IO_24._02_Бондаренко_Тарас_Андрійович.lab4;
|
||||
|
||||
/**
|
||||
* Class that represents a boat with different characteristics.
|
||||
*/
|
||||
public class Boat {
|
||||
private final String name;
|
||||
private final int price;
|
||||
private final int mass;
|
||||
private final int age;
|
||||
private final String type;
|
||||
|
||||
public Boat(String name, int price, int mass, int age, String type) {
|
||||
this.name = name;
|
||||
this.price = price;
|
||||
this.mass = mass;
|
||||
this.age = age;
|
||||
this.type = type;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public int getPrice() {
|
||||
return price;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return String.format("%s - %s, which was built %d years ago, with mass - %d kg, has price - %d$;",
|
||||
type, name, age, mass, price);
|
||||
}
|
||||
}
|
||||
35
src/IO_24/_02_Бондаренко_Тарас_Андрійович/lab4/Lab4.java
Normal file
35
src/IO_24/_02_Бондаренко_Тарас_Андрійович/lab4/Lab4.java
Normal file
@@ -0,0 +1,35 @@
|
||||
package IO_24._02_Бондаренко_Тарас_Андрійович.lab4;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Comparator;
|
||||
import java.util.List;
|
||||
|
||||
public class Lab4 {
|
||||
public static void main(String[] args) {
|
||||
List<Boat> boatList = Arrays.asList(
|
||||
new Boat("Row V. Wave", 150000, 50000, 25, "cutter"),
|
||||
new Boat("Dirty Oar", 250000, 40000, 15, "cutter"),
|
||||
new Boat("Tumeric", 450000, 100000, 45, "cutter"),
|
||||
new Boat("Life is Good", 350000, 20000, 5, "cutter")
|
||||
);
|
||||
|
||||
boatList.sort(Comparator.comparing(Boat::getName));// comparing - method of Comparator interface
|
||||
System.out.println("Sorted by name:");
|
||||
printed(boatList);
|
||||
|
||||
boatList.sort(Comparator.comparing(Boat::getPrice).reversed());
|
||||
System.out.println("\nSorted by price in reverse order:");
|
||||
printed(boatList);
|
||||
}
|
||||
|
||||
/**
|
||||
* Print all characteristics of boats.
|
||||
*
|
||||
* @param boatList List of boats.
|
||||
*/
|
||||
public static void printed(List<Boat> boatList) {
|
||||
for (Boat boat : boatList) {
|
||||
System.out.println(boat);
|
||||
}
|
||||
}
|
||||
}
|
||||
12
src/IO_24/_02_Бондаренко_Тарас_Андрійович/lab5/Lab5.java
Normal file
12
src/IO_24/_02_Бондаренко_Тарас_Андрійович/lab5/Lab5.java
Normal file
@@ -0,0 +1,12 @@
|
||||
package IO_24._02_Бондаренко_Тарас_Андрійович.lab5;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
public class Lab5 {
|
||||
public static void main(String[] args) {
|
||||
Text text = new Text("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Mauris a diam maecenas sed enim ut sem viverra. Amet est placerat in egestas erat imperdiet. Sed turpis tincidunt id aliquet risus. Amet porttitor eget dolor morbi non arcu risus quis. Elementum nibh tellus molestie nunc non blandit massa. Feugiat scelerisque varius morbi enim nunc faucibus. Ipsum faucibus vitae aliquet nec ullamcorper sit amet risus nullam. Quis enim lobortis scelerisque fermentum dui faucibus in. Sem viverra aliquet eget sit amet tellus cras adipiscing enim. Sed ullamcorper morbi tincidunt ornare. Sodales ut eu sem integer vitae justo eget magna. Mi ipsum faucibus vitae aliquet nec ullamcorper.");
|
||||
System.out.println(text);
|
||||
text.getSortedWordsByFirstLetter();
|
||||
}
|
||||
|
||||
}
|
||||
14
src/IO_24/_02_Бондаренко_Тарас_Андрійович/lab5/Letter.java
Normal file
14
src/IO_24/_02_Бондаренко_Тарас_Андрійович/lab5/Letter.java
Normal file
@@ -0,0 +1,14 @@
|
||||
package IO_24._02_Бондаренко_Тарас_Андрійович.lab5;
|
||||
|
||||
public class Letter {
|
||||
private final char character;
|
||||
|
||||
public Letter(char character) {
|
||||
this.character = character;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return String.valueOf(character);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package IO_24._02_Бондаренко_Тарас_Андрійович.lab5;
|
||||
|
||||
public class Punctuation implements SentenceElement {
|
||||
private final String character;
|
||||
|
||||
public Punctuation(String character) {
|
||||
this.character = character;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return character;
|
||||
}
|
||||
}
|
||||
55
src/IO_24/_02_Бондаренко_Тарас_Андрійович/lab5/Sentence.java
Normal file
55
src/IO_24/_02_Бондаренко_Тарас_Андрійович/lab5/Sentence.java
Normal file
@@ -0,0 +1,55 @@
|
||||
package IO_24._02_Бондаренко_Тарас_Андрійович.lab5;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.HashSet;
|
||||
|
||||
public class Sentence {
|
||||
private final SentenceElement[] sentenceElements;
|
||||
private static final String PUNCTUATION = "\\p{Punct}";
|
||||
|
||||
public Sentence(String sentences) {
|
||||
String[] sentenceElement = sentences.split("(?=" + PUNCTUATION + ")| ");
|
||||
sentenceElements = new SentenceElement[sentenceElement.length];
|
||||
for (int i = 0; i < sentenceElement.length; i++) {
|
||||
if (sentenceElement[i].matches(PUNCTUATION)) {
|
||||
sentenceElements[i] = new Punctuation(sentenceElement[i]);
|
||||
} else {
|
||||
sentenceElements[i] = new Word(sentenceElement[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static void getSortedWordsByFirstLetter(Sentence[] sentences) {
|
||||
StringBuilder allWords = new StringBuilder();
|
||||
for (Sentence sentence : sentences) {
|
||||
allWords.append(sentence).append(" ");
|
||||
}
|
||||
|
||||
String[] words = allWords.toString().split("\\W+");
|
||||
|
||||
HashSet<String> uniqueWords = new HashSet<>();
|
||||
|
||||
for (String word : words) {
|
||||
uniqueWords.add(word.toLowerCase());
|
||||
}
|
||||
|
||||
String[] uniqueSortedWords = uniqueWords.toArray(new String[0]);
|
||||
|
||||
Arrays.sort(uniqueSortedWords);
|
||||
|
||||
for (String word : uniqueSortedWords) {
|
||||
System.out.println(word);
|
||||
}
|
||||
}
|
||||
@Override
|
||||
public String toString() {
|
||||
StringBuilder out = new StringBuilder();
|
||||
for (SentenceElement se : sentenceElements) {
|
||||
if (se.getClass().isAssignableFrom(Word.class)) {
|
||||
out.append(" ");
|
||||
}
|
||||
out.append(se);
|
||||
}
|
||||
return out.toString();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
package IO_24._02_Бондаренко_Тарас_Андрійович.lab5;
|
||||
|
||||
public interface SentenceElement {
|
||||
// Об'єднуєм два типа
|
||||
}
|
||||
26
src/IO_24/_02_Бондаренко_Тарас_Андрійович/lab5/Text.java
Normal file
26
src/IO_24/_02_Бондаренко_Тарас_Андрійович/lab5/Text.java
Normal file
@@ -0,0 +1,26 @@
|
||||
package IO_24._02_Бондаренко_Тарас_Андрійович.lab5;
|
||||
|
||||
public class Text {
|
||||
private final Sentence[] sentences;
|
||||
|
||||
public Text(String text) {
|
||||
String[] splitText = text.split("(?=[.!?]+)| ");
|
||||
sentences = new Sentence[splitText.length];
|
||||
for (int i = 0; i < splitText.length; i++) {
|
||||
sentences[i] = new Sentence(splitText[i]);
|
||||
}
|
||||
}
|
||||
|
||||
public void getSortedWordsByFirstLetter() {
|
||||
Sentence.getSortedWordsByFirstLetter(sentences);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
StringBuilder out = new StringBuilder();
|
||||
for (Sentence sentence : sentences) {
|
||||
out.append(sentence.toString());
|
||||
}
|
||||
return out.toString().strip();
|
||||
}
|
||||
}
|
||||
21
src/IO_24/_02_Бондаренко_Тарас_Андрійович/lab5/Word.java
Normal file
21
src/IO_24/_02_Бондаренко_Тарас_Андрійович/lab5/Word.java
Normal file
@@ -0,0 +1,21 @@
|
||||
package IO_24._02_Бондаренко_Тарас_Андрійович.lab5;
|
||||
|
||||
public class Word implements SentenceElement {
|
||||
private final Letter[] letters;
|
||||
|
||||
public Word(String word) {
|
||||
letters = new Letter[word.length()];
|
||||
for (int i = 0; i < word.length(); i++) {
|
||||
letters[i] = new Letter(word.charAt(i));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
StringBuilder out = new StringBuilder();
|
||||
for (Letter let : letters) {
|
||||
out.append(let.toString());
|
||||
}
|
||||
return out.toString();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
package IO_24._02_Бондаренко_Тарас_Андрійович.lab6;
|
||||
|
||||
public class Comfort extends Tariff {
|
||||
public Comfort(String name, int price, int customers) {
|
||||
super(name, price, customers);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
package IO_24._02_Бондаренко_Тарас_Андрійович.lab6;
|
||||
|
||||
public class Economy extends Tariff {
|
||||
|
||||
public Economy(String name, int price, int customers) {
|
||||
super(name, price, customers);
|
||||
}
|
||||
}
|
||||
48
src/IO_24/_02_Бондаренко_Тарас_Андрійович/lab6/Lab6.java
Normal file
48
src/IO_24/_02_Бондаренко_Тарас_Андрійович/lab6/Lab6.java
Normal file
@@ -0,0 +1,48 @@
|
||||
package IO_24._02_Бондаренко_Тарас_Андрійович.lab6;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Comparator;
|
||||
import java.util.Scanner;
|
||||
|
||||
public class Lab6 {
|
||||
public static void main(String[] args) {
|
||||
Comfort tariff1 = new Comfort("Comfort", 100, 5000);
|
||||
Economy tariff2 = new Economy("Economy", 25, 10000);
|
||||
Optimal tariff3 = new Optimal("Optimal", 300, 50000);
|
||||
|
||||
Tariff[] tariffs = {tariff1, tariff2, tariff3};
|
||||
int sum = 0;
|
||||
System.out.println("Тарифи мобільної мобільної компанії:");
|
||||
for (int i = 0; i < tariffs.length; i++) {
|
||||
System.out.printf("\t%d. %s%n", i + 1, tariffs[i].getName());
|
||||
sum += tariffs[i].getCustomers();
|
||||
}
|
||||
System.out.println("\nЗагальна кількість користувачів: " + sum + ";");
|
||||
|
||||
System.out.println("\nТарифи мобільної компанії відсортовані за вартістю:");
|
||||
Arrays.sort(tariffs, Comparator.comparing(Tariff::getPrice));
|
||||
for (int i = 0; i < tariffs.length; i++) {
|
||||
System.out.printf("\t%d. %s%n", i + 1, tariffs[i]);
|
||||
}
|
||||
System.out.println("\nВведіть діапазон цін, в якому бажаєте підібрати тариф: ");
|
||||
|
||||
Scanner scan = new Scanner(System.in);
|
||||
System.out.print("\tМінімальна ціна: ");
|
||||
int minSum = scan.nextInt();
|
||||
System.out.print("\tМаксимальна ціна: ");
|
||||
int maxSum = scan.nextInt();
|
||||
scan.close();
|
||||
int n2 = 0;
|
||||
|
||||
System.out.println("\nПідібрані тарифи: ");
|
||||
for (int i = 0; i < tariffs.length; i++) {
|
||||
if (minSum <= tariffs[i].getPrice() && tariffs[i].getPrice() <= maxSum) {
|
||||
System.out.printf("\t%d. %s%n", i + 1, tariffs[i]);
|
||||
n2 += 1;
|
||||
}
|
||||
}
|
||||
if (n2 == 0) {
|
||||
System.out.println("\tНе знайдено тарифів в заданому діапазоні цін;");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
package IO_24._02_Бондаренко_Тарас_Андрійович.lab6;
|
||||
|
||||
public class Optimal extends Tariff {
|
||||
public Optimal(String name, int price, int customers) {
|
||||
super(name, price, customers);
|
||||
}
|
||||
}
|
||||
30
src/IO_24/_02_Бондаренко_Тарас_Андрійович/lab6/Tariff.java
Normal file
30
src/IO_24/_02_Бондаренко_Тарас_Андрійович/lab6/Tariff.java
Normal file
@@ -0,0 +1,30 @@
|
||||
package IO_24._02_Бондаренко_Тарас_Андрійович.lab6;
|
||||
|
||||
public class Tariff {
|
||||
private final String name;
|
||||
private final int price;
|
||||
private final int customers;
|
||||
|
||||
public Tariff(String name, int price, int customers) {
|
||||
this.name = name;
|
||||
this.price = price;
|
||||
this.customers = customers;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public int getPrice() {
|
||||
return price;
|
||||
}
|
||||
|
||||
public int getCustomers() {
|
||||
return customers;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "Тариф " + name + ", коштує " + price + " грн.";
|
||||
}
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
package encapsulationInheritancePolymorphism.inheritance;
|
||||
|
||||
public class ElectricEngine extends Engine {
|
||||
private String batteryType;
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
package encapsulationInheritancePolymorphism.inheritance;
|
||||
|
||||
public class Engine {
|
||||
private int power;
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
package encapsulationInheritancePolymorphism.inheritance;
|
||||
|
||||
public class Main {
|
||||
public static void main(String[] args) {
|
||||
ElectricEngine electricEngine = new ElectricEngine();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user