Compare commits

..

8 Commits

Author SHA1 Message Date
mayfff
2874cce9b6 Create SixthLab.java 2023-02-23 15:23:07 +02:00
mayfff
0ec39254b8 Create FifthLab.java 2023-02-23 15:20:58 +02:00
mayfff
d7edabbf00 Create FourthLab.java 2023-02-23 15:19:54 +02:00
mayfff
71b6763c9d Create Airplane.java 2023-02-23 15:18:47 +02:00
mayfff
33f8aa39e1 Create ThirdLab.java 2023-02-23 15:15:35 +02:00
mayfff
f70028323e Create SecondLab.java 2023-02-23 15:14:15 +02:00
mayfff
bcb73f3a13 Create FirstLab.java 2023-02-23 15:13:12 +02:00
Oleksii Aleshchenko
53a9d20438 Update Main.java 2023-02-23 14:30:35 +02:00
26 changed files with 496 additions and 470 deletions

2
.idea/misc.xml generated
View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project version="4"> <project version="4">
<component name="ProjectRootManager" version="2" languageLevel="JDK_17" default="true" project-jdk-name="17" 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" /> <output url="file://$PROJECT_DIR$/out" />
</component> </component>
</project> </project>

View File

@@ -1,43 +0,0 @@
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
}
}

View File

@@ -1,84 +0,0 @@
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();
}
}
}

View File

@@ -1,25 +0,0 @@
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);
}
}
}

View File

@@ -1,34 +0,0 @@
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);
}
}

View File

@@ -1,35 +0,0 @@
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);
}
}
}

View File

@@ -1,12 +0,0 @@
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();
}
}

View File

@@ -1,14 +0,0 @@
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);
}
}

View File

@@ -1,14 +0,0 @@
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;
}
}

View File

@@ -1,55 +0,0 @@
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();
}
}

View File

@@ -1,5 +0,0 @@
package IO_24._02_Бондаренко_Тарас_Андрійович.lab5;
public interface SentenceElement {
// Об'єднуєм два типа
}

View File

@@ -1,26 +0,0 @@
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();
}
}

View File

@@ -1,21 +0,0 @@
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();
}
}

View File

@@ -1,7 +0,0 @@
package IO_24._02_Бондаренко_Тарас_Андрійович.lab6;
public class Comfort extends Tariff {
public Comfort(String name, int price, int customers) {
super(name, price, customers);
}
}

View File

@@ -1,8 +0,0 @@
package IO_24._02_Бондаренко_Тарас_Андрійович.lab6;
public class Economy extends Tariff {
public Economy(String name, int price, int customers) {
super(name, price, customers);
}
}

View File

@@ -1,48 +0,0 @@
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("\ідібрані тарифи: ");
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Не знайдено тарифів в заданому діапазоні цін;");
}
}
}

View File

@@ -1,7 +0,0 @@
package IO_24._02_Бондаренко_Тарас_Андрійович.lab6;
public class Optimal extends Tariff {
public Optimal(String name, int price, int customers) {
super(name, price, customers);
}
}

View File

@@ -1,30 +0,0 @@
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 + " грн.";
}
}

View File

@@ -1,6 +1,6 @@
public class Main { public class Main {
public static void main(String[] args) { public static void main(String[] args) {
System.out.println(args[1]); System.out.println(args[2]);
System.out.println("Hello world!"); System.out.println("Hello world!");
// System.out.println(1); // System.out.println(1);
} }

View File

@@ -0,0 +1,30 @@
import java.util.Scanner;
public class FirstLab {
public static void main(String[] args) {
Scanner scn = new Scanner(System.in);
final int C = 0;
double S = 0.0;
System.out.print("Enter a: ");
int a = scn.nextInt();
System.out.print("Enter b: ");
int b = scn.nextInt();
System.out.print("Enter n: ");
int n = scn.nextInt();
System.out.print("Enter m: ");
int m = scn.nextInt();
if ((a <= 0 & n >= 0) | (b <= 0 & m >= 0)){
System.out.println("Division by 0!");
} else {
for (char i = (char) a; i <= n; i++) {
for(char j = (char) b; j <= m; j++) {
S += (double) (i % j) / (i + C);
}
}
System.out.printf("Result - %.3f", S);
}
scn.close();
}
}

View File

@@ -0,0 +1,63 @@
import java.util.Scanner;
import java.util.Random;
public class SecondLab {
public static void main(String[] args) {
Scanner scn = new Scanner(System.in);
Random rnd = new Random();
System.out.print("Enter number of rows in matrix A: ");
int mA = scn.nextInt();
System.out.print("Enter the number of columns in matrix A: ");
int nA = scn.nextInt();
System.out.print("Enter number of rows in matrix B: ");
int mB = scn.nextInt();
System.out.print("Enter the number of columns in matrix B: ");
int nB = scn.nextInt();
long largest, sum = 0L;
if(mA != mB || nA != nB) {
System.out.println("Unable to add matrices!");
} else {
long[][] matrixA = new long[mA][nA];
long[][] matrixB = new long[mB][nB];
long[][] matrixC = new long[mA][nA];
System.out.println("Matrix A: ");
for(int i = 0; i < mA; i++) {
for(int j = 0; j < nA; j++) {
matrixA[i][j] = rnd.nextLong(10, 50) + 10;
System.out.printf("|%d", matrixA[i][j]);
}
System.out.println("|");
}
System.out.println("Matrix B: ");
for(int i = 0; i < nA; i++) {
for(int j = 0; j < nB; j++) {
matrixB[i][j] = rnd.nextLong(10, 50) + 10;
System.out.printf("|%d", matrixB[i][j]);
}
System.out.println("|");
}
System.out.println("Matrix C: ");
for(int i = 0; i < mA; i++) {
for(int j = 0; j < nA; j++) {
matrixC[i][j] = matrixA[i][j] + matrixB[i][j];
System.out.printf("|%d", matrixC[i][j]);
}
System.out.println("|");
}
for(long[] row: matrixC) {
largest = row[0];
for(long elem : row) {
if(elem > largest) {
largest = elem;
}
}
sum += largest;
}
System.out.printf("Sum = %d", sum);
}
scn.close();
}
}

View File

@@ -0,0 +1,33 @@
import java.util.Scanner;
public class ThirdLab {
public static void main(String[] args) {
Scanner scn = new Scanner(System.in);
System.out.print("Enter a string: ");
String text = scn.nextLine();
StringBuilder textBuilder = new StringBuilder(text);
System.out.print("Enter a string to replace the words: ");
String replace = scn.nextLine();
System.out.print("Enter the length of the words to replace: ");
int length = scn.nextInt();
String[] words = textBuilder.toString().split("\\s+");
textBuilder.setLength(0);
for(String word : words) {
if(word.charAt(word.length()-1) == '.' && word.length() - 1 == length) {
textBuilder.append(replace + ". ");
} else if (word.charAt(word.length() - 1) == '!' && word.length() - 1 == length) {
textBuilder.append(replace + "! ");
} else if (word.charAt(word.length() - 1) == '?' && word.length() - 1 == length) {
textBuilder.append(replace + "? ");
} else if (word.length() == length) {
textBuilder.append(replace + " ");
} else {
textBuilder.append(word + " ");
}
}
System.out.printf("Result: %s", textBuilder);
scn.close();
}
}

View File

@@ -0,0 +1,59 @@
import java.util.Comparator;
public class Airplane {
private String name;
private String type;
private int weight;
private int amountOfEngines;
private int year;
private String color;
private int capacity;
private int price;
public Airplane(String name, String type, int weight, int amountOfEngines, int year, String color, int capacity, int price) {
this.name = name;
this.type = type;
this.weight = weight;
this.amountOfEngines = amountOfEngines;
this.year = year;
this.color = color;
this.capacity = capacity;
this.price = price;
}
public int getPrice() {
return price;
}
public int getYear() {
return year;
}
@Override
public String toString() {
return "Plane : " +
"name = " + name +
", type = " + type +
", weight = " + weight + " tons" +
", amount of engines = " + amountOfEngines +
", year = " + year +
", color = " + color +
", capacity = " + capacity +
", price = " + price + " millions dollars.";
}
}
class SortByPrice implements Comparator<Airplane> {
public int compare(Airplane a, Airplane b) {
return a.getPrice() - b.getPrice();
}
}
class SortByYear implements Comparator<Airplane> {
public int compare(Airplane a, Airplane b) {
return a.getYear() - b.getYear();
}
}

View File

@@ -0,0 +1,32 @@
import java.util.Arrays;
public class FourthLab {
public static void main(String[] args) {
final Airplane plane1 = new Airplane("Boeing 747", "passenger", 180, 4, 1970, "Lightblue", 467, 70);
final Airplane plane2 = new Airplane("Airbus A380", "passenger", 575, 4, 2003, "Orange", 850, 389);
final Airplane plane3 = new Airplane("General Dynamics F-16", "military", 9, 1, 1974, "Grey", 1, 45);
final Airplane plane4 = new Airplane("Boeing C-17 Globemaster III", "cargo", 130, 4, 1995, "Grey", 102, 340);
final Airplane plane5 = new Airplane("An-225 Mriya", "cargo", 285, 6, 1990, "White", 20, 500);
Airplane[] planes = {plane1, plane2, plane3, plane4, plane5};
System.out.println("List of planes: ");
for(Airplane plane : planes) {
System.out.println(plane);
}
System.out.println();
Arrays.sort(planes, new SortByPrice());
System.out.println("Sorted by price: ");
for(Airplane plane : planes) {
System.out.println(plane);
}
System.out.println();
Arrays.sort(planes, new SortByYear().reversed());
System.out.println("Sorted by year: ");
for(Airplane plane : planes) {
System.out.println(plane);
}
}
}

View File

@@ -0,0 +1,139 @@
import java.util.Scanner;
public class FifthLab {
public static void main(String[] args) {
Scanner scn = new Scanner(System.in);
System.out.println("Enter a string: ");
String text = scn.nextLine();
StringBuilder textBuilder = new StringBuilder(text);
StringBuilder result = new StringBuilder();
System.out.print("Enter a string to replace the words: ");
String replace = scn.nextLine();
System.out.print("Enter the length of the words to replace: ");
int length = scn.nextInt();
System.out.println("\nText before changes: ");
System.out.println(textBuilder);
String[] mySentence = textBuilder.toString().split("(?<=[!.?])\\s?");
for(String s: mySentence) {
StringBuilder sb = new StringBuilder(s);
Sentence sentence = new Sentence(sb, length, replace);
result.append(sentence.wordsSplit());
}
System.out.println("\nText after changes: ");
System.out.println(result);
scn.close();
}
}
class Sentence {
private final StringBuilder sentence;
private final int length;
private final String replace;
public Sentence(StringBuilder sentence, int length, String replace) {
this.sentence = sentence;
this.length = length;
this.replace = replace;
}
public StringBuilder wordsSplit() {
StringBuilder ReturnSentence = new StringBuilder();
String text = sentence.toString();
String[] words = text.split(" ");
for(String s: words) {
StringBuilder sb = new StringBuilder(s);
Word word = new Word(sb, length, replace);
ReturnSentence.append(word.lettersSplit()).append(" ");
}
return ReturnSentence;
}
}
class Word {
private final StringBuilder word;
private final int length;
private final String replace;
public Word(StringBuilder word, int length, String replace) {
this.word = word;
this.length = length;
this.replace = replace;
}
public StringBuilder lettersSplit() {
StringBuilder ReturnWord = new StringBuilder();
String wordstr = word.toString();
int len = wordstr.length();
String[] letters = wordstr.split("");
String[] ReplaceLetters = replace.split("");
char last = wordstr.charAt(word.length() - 1);
if(last == '!' || last == '?' || last == '.') {
if(wordstr.charAt(word.length() - 2) == '.') {
len = wordstr.length() - 3;
} else {
len = wordstr.length() - 1;
}
}
if(len == length) {
for(String chr: ReplaceLetters) {
StringBuilder ltr = new StringBuilder(chr);
Letter letter = new Letter(ltr);
ReturnWord.append(letter.getLetter());
}
if(wordstr.length() - len == 1) {
ReturnWord.append(wordstr.charAt(wordstr.length() - 1));
} else if(wordstr.length() - len == 3) {
ReturnWord.append("...");
}
} else {
for(String chr: letters) {
StringBuilder ltr = new StringBuilder(chr);
if(chr.equals("!") || chr.equals("?") || chr.equals(".") || chr.equals(",") || chr.equals(":") || chr.equals(";")) {
Punctuation punctuation = new Punctuation(ltr);
ReturnWord.append(punctuation.getPunctuation());
} else {
Letter letter = new Letter(ltr);
ReturnWord.append(letter.getLetter());
}
}
}
return ReturnWord;
}
}
class Letter {
private final StringBuilder letter;
public Letter(StringBuilder letter) {
this.letter = letter;
}
public StringBuilder getLetter() {
return letter;
}
}
class Punctuation {
private final StringBuilder punctuation;
public Punctuation(StringBuilder punctuation) {
this.punctuation = punctuation;
}
public StringBuilder getPunctuation() {
return punctuation;
}
}

View File

@@ -0,0 +1,138 @@
import java.util.Scanner;
import java.util.Arrays;
import java.util.Comparator;
public class SixthLab {
public static int sumOfPassangers(Train[] trains) {
int sum = 0;
for (Train train: trains) {
sum += train.getCapacity();
}
return sum;
}
public static float sumOfLuggage(Train[] trains) {
float sum = 0.0f;
for (Train train: trains) {
sum += train.getLuggage();
}
return sum;
}
public static void main(String[] args) {
Scanner scn = new Scanner(System.in);
Intercity intercity = new Intercity(2, "intercity", 57, 2.0f);
SV sv = new SV(3, "sv", 20, 1.3f);
Compartment compartment = new Compartment(2, "compartment", 40, 2.5f);
Plackart plackart = new Plackart(1, "plackart", 52, 1.8f);
Train[] trainCars = {intercity, sv, compartment, plackart};
System.out.println("List of train cars: ");
for (Train car: trainCars) {
System.out.println(car);
}
Arrays.sort(trainCars, new sortByComfort());
System.out.println("\nSorted list by comfort level: ");
for (Train car: trainCars) {
System.out.println(car);
}
System.out.printf("\n\nThe total number of passengers on the train - %d.\n", sumOfPassangers(trainCars));
System.out.printf("The total amount of train baggage - %.1f tons.", sumOfLuggage(trainCars));
System.out.println("\n\nFinding the train car by number of passengers");
System.out.print("Enter the lower number: ");
int lower = scn.nextInt();
System.out.print("Enter the extreme number: ");
int extreme = scn.nextInt();
boolean flag = false;
for (Train car: trainCars) {
int amount = car.getCapacity();
if(amount >= lower && amount <= extreme) {
System.out.println(car);
flag = true;
}
}
if (!flag) {
System.out.println("There is no such train car");
}
scn.close();
}
}
class Train {
private int comfortLevel;
private String type;
private int capacity;
private float luggage;
public Train(int comfortLevel, String type, int capacity, float luggage) {
this.comfortLevel = comfortLevel;
this.type = type;
this.capacity = capacity;
this.luggage = luggage;
}
public int getComfortLevel() {
return comfortLevel;
}
public String getType() {
return type;
}
public int getCapacity() {
return capacity;
}
public float getLuggage() {
return luggage;
}
@Override
public String toString() {
return "Train : " +
" Type: " + type +
". Comfort level: " + comfortLevel +
". Capacity: " + capacity +
". Luggage: " + luggage + " tons.";
}
}
class Intercity extends Train {
public Intercity(int comfortLevel, String type, int capacity, float luggage) {
super(comfortLevel, type, capacity, luggage);
}
}
class SV extends Train {
public SV(int comfortLevel, String type, int capacity, float luggage) {
super(comfortLevel, type, capacity, luggage);
}
}
class Compartment extends Train {
public Compartment(int comfortLevel, String type, int capacity, float luggage) {
super(comfortLevel, type, capacity, luggage);
}
}
class Plackart extends Train {
public Plackart(int comfortLevel, String type, int capacity, float luggage) {
super(comfortLevel, type, capacity, luggage);
}
}
class sortByComfort implements Comparator<Train> {
public int compare(Train a, Train b){
return a.getComfortLevel() - b.getComfortLevel();
}
}