Compare commits

..

14 Commits

Author SHA1 Message Date
BadOfficer fc4a97f8ea update lab5 2023-05-29 21:42:19 +03:00
BadOfficer e1258c2542 upload lab5 2023-05-28 01:50:50 +03:00
BadOfficer a39494a9c8 upload lab4 2023-05-17 14:03:20 +03:00
BadOfficer 0c4e5d3e89 upload lab6 2023-05-15 19:05:21 +03:00
BadOfficer 5c75c2bef1 modified lab3 2023-05-15 19:04:50 +03:00
BadOfficer 4fce8c914c bug fixes in Lab1 2023-02-23 22:40:55 +02:00
BadOfficer 71baf63a21 Refactored Lab2 2023-02-22 01:02:45 +02:00
BadOfficer 0b16cf927b Added documentation for Lab4 2023-02-22 00:46:09 +02:00
BadOfficer 0ba52b8eaf Fixed typo in Lab2 2023-02-21 20:15:21 +02:00
BadOfficer 86e06c3a5a Added lab4 2023-02-17 01:51:36 +02:00
BadOfficer dca4d9f449 Added lab1, lab2, lab3 2023-02-17 00:16:43 +02:00
Oleksii Aleshchenko 9112df275b add test code from discussion after lecture 2023-02-16 16:30:11 +02:00
Oleksii Aleshchenko 81947f9b29 add EncapsulationInheritancePolymorphism 2023-02-16 16:10:38 +02:00
Oleksii Aleshchenko f4fbabe6e5 Initial commit 2023-02-09 15:57:52 +02:00
48 changed files with 697 additions and 1094 deletions
+2
View File
@@ -0,0 +1,2 @@
# Project exclude paths
/out/
+1 -1
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_19" default="true" project-jdk-name="19" 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" /> <output url="file://$PROJECT_DIR$/out" />
</component> </component>
</project> </project>
+1 -2
View File
@@ -2,8 +2,7 @@
<project version="4"> <project version="4">
<component name="ProjectModuleManager"> <component name="ProjectModuleManager">
<modules> <modules>
<module fileurl="file://$PROJECT_DIR$/lab1.iml" filepath="$PROJECT_DIR$/lab1.iml" /> <module fileurl="file://$PROJECT_DIR$/OOP_IO-2x_2023.iml" filepath="$PROJECT_DIR$/OOP_IO-2x_2023.iml" />
<module fileurl="file://$PROJECT_DIR$/laba3/laba3.iml" filepath="$PROJECT_DIR$/laba3/laba3.iml" />
</modules> </modules>
</component> </component>
</project> </project>
+124
View File
@@ -0,0 +1,124 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Palette2">
<group name="Swing">
<item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" />
</item>
<item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" />
</item>
<item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" />
</item>
<item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.svg" removable="false" auto-create-binding="false" can-attach-label="true">
<default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" />
</item>
<item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" />
<initial-values>
<property name="text" value="Button" />
</initial-values>
</item>
<item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
<initial-values>
<property name="text" value="RadioButton" />
</initial-values>
</item>
<item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
<initial-values>
<property name="text" value="CheckBox" />
</initial-values>
</item>
<item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" />
<initial-values>
<property name="text" value="Label" />
</initial-values>
</item>
<item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
<item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
<item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
<item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" />
</item>
<item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
<preferred-size width="200" height="200" />
</default-constraints>
</item>
<item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
<preferred-size width="200" height="200" />
</default-constraints>
</item>
<item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
</item>
<item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
</item>
<item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" />
</item>
<item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" />
</item>
<item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1">
<preferred-size width="-1" height="20" />
</default-constraints>
</item>
<item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" />
</item>
<item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" />
</item>
</group>
</component>
</project>
View File
-38
View File
@@ -1,38 +0,0 @@
public class Letter {
// Поле що містить літеру
private char simbol;
// Конструктор
public Letter(char simbol) {
this.simbol = simbol;
}
// Метод повернення літери
public char getLetter(){
return simbol;
}
// Метод перевірки на те, чи є буква пробілом
public boolean isSpace(){
if(this.simbol==' '){
return true;
}
return false;
}
// Метод перевірки на те, чи є буква комою
public boolean isKome(){
if(this.simbol==','){
return true;
}
return false;
}
// Метод перевірки на те, чи є буква тире
public boolean isDash(){
if(this.simbol=='-'){
return true;
}
return false;
}
// Метод виводу літери
public void printLetter(){
System.out.print(simbol);
}
}
-188
View File
@@ -1,188 +0,0 @@
import java.util.*;
public class Main {
public static void main(String[] args) {
// Ввід текста користувачем
System.out.println("Введіть текст:");
Scanner scan = new Scanner(System.in);
String inputText1 = scan.nextLine();
// Заміна табуляцій на пробіли
String inputText = inputText1.replace("\n", " ");
// Перехід від формату String до формату Text
Text text = FromStringToText(inputText);
// Зміна порядку слів в реченні
text.changeOrder();
// Вивід результату
text.printText();
}
// Метод переходу від String до Text
public static Text FromStringToText(String text) {
// Створюємо массив char з двома пробілами в кінці
char[] chars1 = text.toCharArray();
char[] chars = Arrays.copyOf(chars1, chars1.length + 2);
chars[chars.length-2]=' ';
chars[chars.length-1]=' ';
// Створюємо массив, який буде містити літери і знаки
ArrayList<Object> modifiedText = new ArrayList<>();
// Змінна, яка буде контролювати наявність знаків в тексті
int k = 0;
for (int i = 0; i < chars.length; i++) {
if (chars[i] == '!' || chars[i] == '?' || chars[i] == '.') {
if (chars[i + 1] == '!' || chars[i + 1] == '?' || chars[i + 1] == '.') {
if (chars[i + 1 + 1] == '!' || chars[i + 1 + 1] == '?' || chars[i + 1 + 1] == '.') {
// Якщо в тексті трапляється знак, який складається відразу з трьох знаків, то програма зараховує його як один і додає в массив з літерами і знаками
ArrayList<Character> znaki = new ArrayList<>();
znaki.add(chars[i]);
znaki.add(chars[i + 1]);
znaki.add(chars[i + 1 + 1]);
Znak element = new Znak(znaki);
// Додаємо до лічильника два, щоб цикл не обробляв знаки ще раз
i = i + 1 + 1;
modifiedText.add(element);
k = k + 1;
} else {
// Якщо в тексті трапляється знак, який складається відразу з двох знаків, то програма зараховує його як один і додає в массив з літерами і знаками
ArrayList<Character> znaki = new ArrayList<>();
znaki.add(chars[i]);
znaki.add(chars[i + 1]);
Znak element = new Znak(znaki);
// Додаємо до лічильника один, щоб цикл не обробляв знаки ще раз
i = i + 1;
modifiedText.add(element);
k = k + 1;
}
} else {
// Якщо в тексті трапився один розділовий знак, то він додається до масиву з літер і знаків
ArrayList<Character> znaki = new ArrayList<>();
znaki.add(chars[i]);
Znak element = new Znak(znaki);
modifiedText.add(element);
k = k + 1;
}
} else {
// Якщо елмент массиву chars не виявився знаком, то він додається як літера
Letter element = new Letter(chars[i]);
modifiedText.add(element);
}
}
// Якщо знаків в тексті не було, програма закінчує роботу
if (k == 0) {
System.out.println("В вашому тексті нема жодного речення!");
System.exit(0);
}
// Змінна яка буде нижнею межею для зрізання слова
int l = 0;
// Масиви для створення речень і тексту відповідно
ArrayList<Word> sent = new ArrayList<Word>();
ArrayList<Sentence> tex = new ArrayList<Sentence>();
for (int i = 0; i < modifiedText.size(); i++) {
// Створюємо змінні, які містять даний елемент масиву і минулий
Object x = modifiedText.get(i);
Object x1 = new Object();
if (i > 0) {
x1 = modifiedText.get(i - 1);
}
// Перевірка чи є елемент літерою
if (x instanceof Letter) {
// Переходимо до класу Letter
Letter z = (Letter) x;
Letter y = new Letter(' ');
if (i > 0) {
y = (Letter) x1;
}
// Перевірка чи є елемент комою
if (z.isKome()) {
// Створення слова з всіх елементів, що були до коми і додавання його до речення
List<Object> wor1 = modifiedText.subList(l, i);
ArrayList<Letter> word = new ArrayList<>();
for (Object j : wor1) {
Letter let = (Letter) j;
word.add(let);
}
Word w = new Word(word);
sent.add(w);
// Зсув границі
l = i + 1;
// Додавання коми до речення
ArrayList<Letter> kome = new ArrayList<>();
kome.add(z);
Word Kome = new Word(kome);
sent.add(Kome);
}
// Перевірка чи є літера пробілом
if (z.isSpace()) {
// Перевірка чи є минулий символ комою
if (y.isKome() || y.isDash()) {
// Додавання пробілу до речення і зсув границі
ArrayList<Letter> word1 = new ArrayList<>();
word1.add(z);
Word word = new Word(word1);
sent.add(word);
l = i + 1;
} else {
// Створення слова з всіх елементів, що були до пробіла і додавання його до речення
List<Object> word1 = modifiedText.subList(l, i);
ArrayList<Letter> word = new ArrayList<>();
for (Object j : word1) {
Letter let = (Letter) j;
word.add(let);
}
Word w = new Word(word);
sent.add(w);
// Додавання пробілу до речення
ArrayList<Letter> space = new ArrayList<>();
space.add(z);
Word Space = new Word(space);
sent.add(Space);
// Зсув границі
l = i + 1;
}
}
// Перевірка чи є елемент тире
if (z.isDash()) {
if (y.isSpace()) {
// Якщо минулий елемент був пробілом, тире додається до речення
ArrayList<Letter> word1 = new ArrayList<>();
word1.add(z);
Word word = new Word(word1);
sent.add(word);
l = i + 1;
}
}
} else if (x instanceof Znak) {
// Коли елемент є знаком, то створюється речення, яке додається до тексту
List<Object> word1 = modifiedText.subList(l, i);
ArrayList<Letter> word = new ArrayList<>();
for (Object j : word1) {
Letter let = (Letter) j;
word.add(let);
}
Word w = new Word(word);
sent.add(w);
Znak z = (Znak) x;
int jump = 2;
// Зсув границі і лічильника
l = i+jump;
i = i + z.Lenght();
z.addSpace();
Sentence sentence = new Sentence(sent, z);
tex.add(sentence);
// Очищення речення
sent= new ArrayList<>();
}
}
// Створення і повернення тексту
Text text2 = new Text(tex);
text2.printText();
return text2;
}
}
-32
View File
@@ -1,32 +0,0 @@
import java.util.ArrayList;
public class Sentence {
// Поля, що містять речення
private ArrayList<Word> words;
private Znak znak;
// Конструктор класу
public Sentence(ArrayList<Word> words, Znak znak){
this.words = words;
this.znak = znak;
}
// Метод заміни першого слова на останнє
public void ChangeOrder(){
//Отримуємо перше і останнє слово речення
Word FirstWord = words.get(0);
Word LastWord = words.get(words.size()-1);
//Використовуємо метод ChangeRegistr класу word
FirstWord.ChangeRegistr(false);
LastWord.ChangeRegistr(true);
//Вставляємо в речення
words.set(0, LastWord);
words.set(words.size()-1, FirstWord);
}
// Метод виводу речення
public void printSentence(){
for(Word i:words){
i.printWord();
}
znak.printZnak();
}
}
-27
View File
@@ -1,27 +0,0 @@
import java.util.ArrayList;
public class Text {
// Поле що містить текст
private ArrayList<Sentence> sentences;
// Конструктор класу
public Text(ArrayList<Sentence> sentences){
this.sentences = sentences;
}
// Метод виводу текста
public void printText(){
for(Sentence i:sentences){
i.printSentence();
}
}
// Метод повернення довжини тексту
public int Lenght(){
return sentences.size();
}
// Метод зміни порядку слів у тексті
public void changeOrder(){
for(Sentence i: sentences){
i.ChangeOrder();
}
}
}
-29
View File
@@ -1,29 +0,0 @@
import java.util.ArrayList;
public class Word {
// Поле, що містить слово
private ArrayList<Letter> letters;
// Конструктор класу
public Word(ArrayList<Letter> letters){
this.letters = letters;
}
// Метод зміни регістру першої літери слова
public void ChangeRegistr(boolean loh /*low or high?*/) {
Letter FirstLetter = letters.get(0);
char Let = FirstLetter.getLetter();
// В залежності від значення змінної loh літера змінюється або в нижній або в верхній регістр
if(loh==true){
Let = Character.toUpperCase(Let);
} else {
Let = Character.toLowerCase(Let);
}
letters.set(0, new Letter(Let));
}
// Метод виводу слова
public void printWord(){
for(Letter i:letters){
i.printLetter();
}
}
}
-26
View File
@@ -1,26 +0,0 @@
import java.util.ArrayList;
public class Znak {
// Поле, що містить знак
private ArrayList<Character> simbols;
// Конструктор класу
public Znak(ArrayList<Character> simbols) {
this.simbols = simbols;
}
// Метод визначення довжини знаку
public int Lenght(){
int x = simbols.size();
return x;
}
// Метод виводу знаку
public void printZnak(){
for(Character i:simbols){
System.out.print(i);
}
}
// Метод додавання пробілу в кінці знаку
public void addSpace(){
simbols.add(' ');
}
}
-11
View File
@@ -1,11 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>
-93
View File
@@ -1,93 +0,0 @@
import java.util.Scanner;
import java.util.ArrayList;
import java.util.Collections;
public class Main {
public static void main(String[] args) {
System.out.println("Введіть текст:");
Scanner scan = new Scanner(System.in);
String inputText = scan.nextLine();
StringBuilder text = new StringBuilder(inputText);
StringBuilder suz = new StringBuilder();
while (true){
if(text.isEmpty()){
break;
}
int index1 = text.indexOf(".");
int index2 = text.indexOf("!");
int index3 = text.indexOf("?");
int index4 = text.indexOf("...");
int[] array1= {index1, index2, index3, index4};
ArrayList<Integer> list = new ArrayList<Integer>();
for (int i = 0; i < array1.length; i++) {
if (array1[i] >= 0) {
list.add(array1[i]);
}
}
int min = Collections.min(list);
String rechennya1 = text.substring(0, min);
System.out.println(rechennya1);
if (rechennya1.contains(" ")){
StringBuilder rechennya = new StringBuilder(rechennya1);
String firstword1;
String secondword1 = text.substring(rechennya.lastIndexOf(" ")+1, rechennya.length());
String secondword2;
secondword2 = secondword1.substring(0, 1).toUpperCase()+secondword1.substring(1, secondword1.length());
StringBuilder secondword = new StringBuilder(secondword2);
if(rechennya.charAt(rechennya.indexOf(" ")-1)==','){
firstword1 = text.substring(0, rechennya.indexOf(" ")-1);
secondword.append(",");
}
else {
firstword1 = text.substring(0, rechennya.indexOf(" "));
}
String firstword2 = firstword1.substring(0, 1).toLowerCase()+firstword1.substring(1, firstword1.length());
StringBuilder firstword = new StringBuilder(firstword2);
firstword.insert(0, " ");
rechennya.delete(0, rechennya.indexOf(" "));
rechennya.insert(0, secondword);
rechennya.delete(rechennya.lastIndexOf(" "), rechennya.length());
rechennya.append(firstword);
if ((index1==index4)&&(index1==min)){
rechennya.append(text.substring(min, min+3));
rechennya.append(" ");
text.delete(0, min+4);
}
else {
rechennya.append(text.substring(min, min+1));
rechennya.append(" ");
text.delete(0, min+2);
}
suz.append(rechennya);
}
else {
StringBuilder rechennya = new StringBuilder(rechennya1);
if ((index1==index4)&&(index1==min)){
rechennya.append(text.substring(min, min+3));
rechennya.append(" ");
text.delete(0, min+4);
}
else {
rechennya.append(text.substring(min, min+1));
rechennya.append(" ");
text.delete(0, min+2);
}
suz.append(rechennya);
}
}
System.out.println(suz);
}
}
-49
View File
@@ -1,49 +0,0 @@
import java.util.Random;
public class Cosmetic {
private String name;
private int price_in_$;
private int health_damage_from1to10;
private int attractiveness_from1to10;
private int quality_from1to10;
private int brightness_from1to10;
public Cosmetic(String name) {
Random random = new Random();
this.name= name;
this.price_in_$ = random.nextInt(1000) + 1;;
this.health_damage_from1to10 = random.nextInt(11);
this.attractiveness_from1to10 = random.nextInt(11);
this.quality_from1to10 = random.nextInt(11);
this.brightness_from1to10 = random.nextInt(11);
}
public Cosmetic(String name, int price_in_$, int health_damage_from1to10, int attractiveness_from1to10, int quality_from1to10, int brightness_from1to10) {
Random random = new Random();
this.name= name;
this.price_in_$ = price_in_$;
this.health_damage_from1to10 = health_damage_from1to10;
this.attractiveness_from1to10 = attractiveness_from1to10;
this.quality_from1to10 = quality_from1to10;
this.brightness_from1to10 = brightness_from1to10;
}
public int getPrice_in_$() {
return price_in_$;
}
public int getHealth_damage_from1to10() {
return health_damage_from1to10;
}
public int getAttractiveness_from1to10() {
return attractiveness_from1to10;
}
public int getQuality_from1to10() {
return quality_from1to10;
}
public int getBrightness_from1to10() {
return brightness_from1to10;
}
public String getName() {
return name;
}
}
View File
View File
-235
View File
@@ -1,235 +0,0 @@
import java.sql.SQLOutput;
import java.util.InputMismatchException;
import java.util.Scanner;
import java.util.Arrays;
import java.util.Comparator;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int quantity = 0;
while (true) {
System.out.println("Скільки елементів в масиві ви хочете мати?");
try {
quantity = scanner.nextInt();
break;
} catch (InputMismatchException e) {
System.out.println("Введені символи не є цілим числом, спробуйте ще раз.");
scanner.nextLine();
}
}
Cosmetic[] arr = new Cosmetic[quantity];
for (int i = 0; i < quantity; i++) {
System.out.println("Введіть назву об'єкта №" + (i + 1) + ": ");
String name = scanner.next();
while (true) {
System.out.println("Бажаєте заповнить об'єкт №" + (i + 1) + " випадковими значеннями?(Введіть так або ні)");
String anwser = scanner.next();
if (anwser.equalsIgnoreCase("так")) {
arr[i] = new Cosmetic(name);
break;
} else {
if (anwser.equalsIgnoreCase("ні")) {
System.out.println("Добре, задайте дані об'єкта номер" + (i + 1) + ":");
int price = 0;
while (true) {
System.out.print("Введіть ціну в долларах: ");
try {
price = scanner.nextInt();
break;
} catch (InputMismatchException e) {
System.out.println("Введені символи не є цілим числом, спробуйте ще раз.");
scanner.nextLine();
}
}
int healthDamage = 0;
while (true) {
System.out.print("Введіть шкоду здоров'ю по шкалі від 0 до 10: ");
while (true) {
try {
healthDamage = scanner.nextInt();
break;
} catch (InputMismatchException e) {
System.out.println("Введені символи не є цілим числом, спробуйте ще раз:");
scanner.nextLine();
}
}
if (healthDamage <= 10 && healthDamage >= 0) {
break;
} else {
System.out.println("Помилка! Число знаходиться не в межах від 0 до 10.");
}
}
int attractiveness = 0;
while (true) {
System.out.print("Введіть привабливість по шкалі від 0 до 10: ");
while (true) {
try {
attractiveness = scanner.nextInt();
break;
} catch (InputMismatchException e) {
System.out.println("Введені символи не є цілим числом, спробуйте ще раз:");
scanner.nextLine();
}
}
if (attractiveness <= 10 && attractiveness >= 0) {
break;
} else {
System.out.println("Помилка! Число знаходиться не в межах від 0 до 10.");
}
}
int quality = 0;
while (true) {
System.out.print("Введіть якість по шкалі від 0 до 10: ");
while (true) {
try {
quality = scanner.nextInt();
break;
} catch (InputMismatchException e) {
System.out.println("Введені символи не є цілим числом, спробуйте ще раз:");
scanner.nextLine();
}
}
if (quality <= 10 && quality >= 0) {
break;
} else {
System.out.println("Помилка! Число знаходиться не в межах від 0 до 10.");
}
}
int brightness = 0;
while (true) {
System.out.print("Введіть яркість по шкалі від 0 до 10: ");
while (true) {
try {
brightness = scanner.nextInt();
break;
} catch (InputMismatchException e) {
System.out.println("Введені символи не є цілим числом, спробуйте ще раз:");
scanner.nextLine();
}
}
if (brightness <= 10 && brightness >= 0) {
break;
} else {
System.out.println("Помилка! Число знаходиться не в межах від 0 до 10.");
}
}
arr[i] = new Cosmetic(name, price, healthDamage, attractiveness, quality, brightness);
break;
} else {
System.out.println("Ви ввели не правильне значення");
}
}
}
}
System.out.println("\n\n\n\n");
System.out.println("Чудово! Масив з елементами класу створено!");
System.out.println("Далі треба задати поля, по яким слід сортувати елементи");
System.out.println("Для сортування по ціні введіть - 1");
System.out.println("Для сортування по шкоді для здоров'я введіть - 2");
System.out.println("Для сортування по привабливосты введіть - 3");
System.out.println("Для сортування по якості введіть - 4");
System.out.println("Для сортування по яркості введіть - 5\n");
int num1 = 0;
while (true) {
System.out.print("Введіть поле масиву від 1 до 5 для сортуванням за зростанням: ");
while (true) {
try {
num1 = scanner.nextInt();
break;
} catch (InputMismatchException e) {
System.out.println("Введені символи не є цілим числом, спробуйте ще раз:");
scanner.nextLine();
}
}
if (num1 <= 5 && num1 >= 1) {
break;
} else {
System.out.println("Помилка! Число знаходиться не в межах від 1 до 5.");
}
}
int num2 = 0;
while (true) {
System.out.print("Введіть поле масиву від 1 до 5 для сортування за спаданням: ");
while (true) {
try {
num2 = scanner.nextInt();
break;
} catch (InputMismatchException e) {
System.out.println("Введені символи не є цілим числом, спробуйте ще раз:");
scanner.nextLine();
}
}
if (num2 <= 5 && num2 >= 1) {
break;
} else {
System.out.println("Помилка! Число знаходиться не в межах від 1 до 5.");
}
}
System.out.println("Масив відсортований за зростанням:");
if (num1 == 1) {
Arrays.sort(arr, Comparator.comparingInt(Cosmetic::getPrice_in_$));
for (Cosmetic i : arr) {
System.out.println(i.getName() + " - " + i.getPrice_in_$());
}
} else if (num1 == 2) {
Arrays.sort(arr, Comparator.comparingInt(Cosmetic::getHealth_damage_from1to10));
for (Cosmetic i : arr) {
System.out.println(i.getName() + " - " + i.getHealth_damage_from1to10());
}
} else if (num1 == 3) {
Arrays.sort(arr, Comparator.comparingInt(Cosmetic::getAttractiveness_from1to10));
for (Cosmetic i : arr) {
System.out.println(i.getName() + " - " + i.getAttractiveness_from1to10());
}
} else if (num1 == 4) {
Arrays.sort(arr, Comparator.comparingInt(Cosmetic::getQuality_from1to10));
for (Cosmetic i : arr) {
System.out.println(i.getName() + " - " + i.getQuality_from1to10());
}
} else if (num1 == 5) {
Arrays.sort(arr, Comparator.comparingInt(Cosmetic::getBrightness_from1to10));
for (Cosmetic i : arr) {
System.out.println(i.getName() + " - " + i.getBrightness_from1to10());
}
}
System.out.println("Масив відсортований за спаданням:");
if (num2 == 1) {
Arrays.sort(arr, Comparator.comparingInt(Cosmetic::getPrice_in_$).reversed());
for (Cosmetic i : arr) {
System.out.println(i.getName() + " - " + i.getPrice_in_$());
}
} else if (num2 == 2) {
Arrays.sort(arr, Comparator.comparingInt(Cosmetic::getHealth_damage_from1to10).reversed());
for (Cosmetic i : arr) {
System.out.println(i.getName() + " - " + i.getHealth_damage_from1to10());
}
} else if (num2 == 3) {
Arrays.sort(arr, Comparator.comparingInt(Cosmetic::getAttractiveness_from1to10).reversed());
for (Cosmetic i : arr) {
System.out.println(i.getName() + " - " + i.getAttractiveness_from1to10());
}
} else if (num2 == 4) {
Arrays.sort(arr, Comparator.comparingInt(Cosmetic::getQuality_from1to10).reversed());
for (Cosmetic i : arr) {
System.out.println(i.getName() + " - " + i.getQuality_from1to10());
}
} else if (num2 == 5) {
Arrays.sort(arr, Comparator.comparingInt(Cosmetic::getBrightness_from1to10).reversed());
for (Cosmetic i : arr) {
System.out.println(i.getName() + " - " + i.getBrightness_from1to10());
}
}
}
}
-80
View File
@@ -1,80 +0,0 @@
import java.util.ArrayList;
public class ElectroAppliance {
// Поля що містять потужність, електромагнітне випромінювання та назву
private int power;
private int electromagneticRadiation;
private String name;
// Статичні поля, які потрібні для зберігання даних про всі об'єкти класу
private static int totalPower = 0;
private static ArrayList<Integer> sortedPowers = new ArrayList<Integer>();
private static ArrayList<String> sortedNames = new ArrayList<String>();
private static ArrayList<Integer> electromagneticList = new ArrayList<Integer>();
private static ArrayList<String> namesList = new ArrayList<String>();
public ElectroAppliance(int power, int electromagneticRadiation, String name) {
// Присвоюємо полям значення
this.name = name;
this.power = power;
this.electromagneticRadiation = electromagneticRadiation;
// Додаємо потужність до загальної
totalPower = totalPower + power;
// Додаємо дані про електромагнітне випромінювання
electromagneticList.add(electromagneticRadiation);
namesList.add(name);
// Відразу в конструкторі сортуємо список з потужностями
if (sortedPowers.isEmpty()) {
sortedPowers.add(power);
sortedNames.add(name);
} else {
for (int i = sortedNames.size()-1; i>=0; i=i-1) {
if(power>sortedPowers.get(i)){
sortedPowers.add(i+1, power);
sortedNames.add(i+1, name);
} else if(i==0&&power<=sortedPowers.get(i)){
sortedPowers.add(0, power);
sortedNames.add(0, name);
}
}
}
}
public static void printSortedPowers(){
for(int i = 0; i<sortedNames.size(); i=i+1){
System.out.println(sortedNames.get(i)+": "+ Integer.toString(sortedPowers.get(i))+" Вт");
}
/** Метод повертає відсортований список приборів по потужності */
}
public static int getTotalPower() {
return totalPower;
/** Метод повертає загальну потужність*/
}
public static void printDiapasonedElectromagneticRadiation(int[] limits){
// Втсановлюємо границі з отриманого списку
int top = limits[1];
int bottom = limits[0];
// Створюємо списки з кінцевими значеннями
ArrayList<Integer> wantedElectromagneticRadiation = new ArrayList<Integer>();
ArrayList<String> wantedElectromagneticNames = new ArrayList<String>();
// Відбираємо потрібні значення
for (int i = 0; i<=electromagneticList.size()-1; i=i+1){
if(electromagneticList.get(i)<=top&&electromagneticList.get(i)>=bottom){
wantedElectromagneticRadiation.add(electromagneticList.get(i));
wantedElectromagneticNames.add(namesList.get(i));
}
}
// Виводимо
System.out.println("Шуканий список:");
for (int i = 0; i<=wantedElectromagneticRadiation.size()-1; i=i+1){
System.out.println(wantedElectromagneticNames.get(i)+": " +Integer.toString(wantedElectromagneticRadiation.get(i))+" Вт");
}
/** Метод шукає значення випромінювання в данному діапазоні і виводить ці значення */
}
/** Клас елктроприладів, який має може повертати відсортований список приладів по потужності, загальну потужність і
* електромагнітне випромінювання в данному діапазоні
*/
}
-16
View File
@@ -1,16 +0,0 @@
public class HeatingDevices extends ElectroAppliance {
// Поля похідного класу Heating Devices
private int heatTransfer;
private static int totalHeatTransfer = 0;
// Конструктор який задає поля і шукає загальне випромінення тепла
public HeatingDevices(int heatTransfer, int power, int electromagneticRadiation, String name) {
super(power, electromagneticRadiation, name);
this.heatTransfer = heatTransfer;
totalHeatTransfer = totalHeatTransfer + heatTransfer;
}
// Повертає загальне випромінення тепла
public static int getTotalHeatTransfer() {
return totalHeatTransfer;
}
/** Похідний класу електроприбору, який ще має поле випромінення тепла*/
}
-117
View File
@@ -1,117 +0,0 @@
import java.util.Scanner;
import java.util.InputMismatchException;
public class Main {
public static void main(String[] args) {
// Вмикаємо прибори
TurnOn();
// Виводимо відомості про систему
String totalPower = Integer.toString(ElectroAppliance.getTotalPower());
System.out.println("Загальна споживана потужість:" + totalPower + " Вт");
String totalWater = Integer.toString(WashingMashines.getTotalWaterConsumption());
System.out.println("Загальна споживана вода:" + totalWater + " Л");
String totalHeat = Integer.toString(HeatingDevices.getTotalHeatTransfer());
System.out.println("Загальне виділення тепла:" + totalHeat + " Дж");
String totalMech = Integer.toString(MechanicDevices.getTotalMechanicPower());
System.out.println("Загальн механічна потужність:" + totalMech + " Вт");
System.out.println("-------------------------");
//Виводимо сортовані потужності
ElectroAppliance.printSortedPowers();
System.out.println("-------------------------");
//Виводимо електромагнітні випромінювання в шуканому діапазоні
ElectroAppliance.printDiapasonedElectromagneticRadiation(getLimits());
}
public static void TurnOn() {
if (AskTrueOrFalse("Ввімкнути в розетку посудомийну машину(введіть так або ні)?")) {
WashingMashines DishWasher = new WashingMashines(11, 1000, 30, "Посудомийна машина");
}
if (AskTrueOrFalse("Ввімкнути в розетку пральну машину(введіть так або ні)?")) {
WashingMashines ClothesWasher = new WashingMashines(50, 2000, 10, "Пральна машина");
}
if (AskTrueOrFalse("Ввімкнути в розетку мікрохвильовку(введіть так або ні)?")) {
HeatingDevices MicroWawe = new HeatingDevices(2000, 1100, 10000, "Мікрохвильвка");
}
if (AskTrueOrFalse("Ввімкнути в розетку духову піч(введіть так або ні)?")) {
HeatingDevices Oven = new HeatingDevices(1000, 800, 1000, "Духова піч");
}
if (AskTrueOrFalse("Ввімкнути в розетку блендер(введіть так або ні)?")) {
MechanicDevices Blender = new MechanicDevices(200, 400, 1, "Блендер");
}
if (AskTrueOrFalse("Ввімкнути в розетку пилосос(введіть так або ні)?")) {
MechanicDevices VacuumCleaner = new MechanicDevices(50, 300, 3, "Пилосос");
}
/**
* Цей метод створений для того, щоб запитати у користувача, які він прилади хоче ввімкнути в розетку і потім,
* якщо відповідь буде позитивна, створює об'єект цього класу.
*/
}
public static int[] getLimits(){
int[] limits = new int[2];
while (true) {
int low = 0;
System.out.println("Введіть нижню границю пошуку");
Scanner scanner = new Scanner(System.in);
while (true) {
try {
low = scanner.nextInt();
break;
} catch (InputMismatchException e) {
System.out.println("Введені символи не є цілим числом, спробуйте ще раз.");
scanner.nextLine();
}
}
System.out.println("Введіть нижню границю пошуку");
int top = 0;
while (true) {
try {
top = scanner.nextInt();
break;
} catch (InputMismatchException e) {
System.out.println("Введені символи не є цілим числом, спробуйте ще раз.");
scanner.nextLine();
}
}
if (top >= low) {
limits[0]=low;
limits[1]=top;
break;
} else {
System.out.println("Нижня границя більна верхньої");
}
}
return limits;
/**
* Цей метод створений для того, щоб запитати у користувача нижню і верхню границю пошуку, і при цьому оброботи
* всі можливі помилки, такі як ввід не цілого числа, та перевищення нижньої границі верхньої
*/
}
public static boolean AskTrueOrFalse(String question) {
System.out.println(question);
Scanner scanner = new Scanner(System.in);
boolean x = true;
while (true) {
String anwser = scanner.nextLine();
if (anwser.equalsIgnoreCase("так")) {
x = true;
break;
} else if (anwser.equalsIgnoreCase("ні")) {
x = false;
break;
} else {
System.out.println("Ви ввели не правильний текст, спробуйте ще раз");
}
}
return x;
}
/**
* Цей метод створений для того, щоб запитати у користвуча відповідь так або ні. Він приймає текстовий аргумент,
* виводить його на екран і очікує ввід. Потім він перевіряє відповіть на рівність "так" або "ні"
* і повертає значення true або false.
*/
}
-17
View File
@@ -1,17 +0,0 @@
public class MechanicDevices extends ElectroAppliance {
// Поля похідного класу Mechanic Devices
private int mechanicPower;
private static int totalMechanicPower = 0;
// Конструктор який дає значення полям і шукає загальну механічна потужність
public MechanicDevices(int mechanicPower, int power, int electromagneticRadiation, String name) {
super(power, electromagneticRadiation, name);
this.mechanicPower = mechanicPower;
totalMechanicPower = totalMechanicPower + mechanicPower;
}
// Метод, який повертає загальну механічну потужність
public static int getTotalMechanicPower() {
return totalMechanicPower;
}
/** Похідний класу електроприбору, який ще має поле механічної потужності */
}
-17
View File
@@ -1,17 +0,0 @@
public class WashingMashines extends ElectroAppliance {
// Поля похідного класу Washing Machines
private int waterConsumption;
private static int totalWaterConsumption = 0;
// Конструктор який задає поля і шукає загальне споживання води
public WashingMashines(int waterConsumption, int power, int electromagneticRadiation, String name) {
super(power, electromagneticRadiation, name);
this.waterConsumption = waterConsumption;
totalWaterConsumption = totalWaterConsumption + waterConsumption;
}
// Метод що повертає загальне споживання води
public static int getTotalWaterConsumption() {
return totalWaterConsumption;
}
/** Похідний класу електроприбору, який ще має поле споживання води */
}
Binary file not shown.
@@ -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
}
}
@@ -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();
}
}
}
@@ -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);
}
}
}
@@ -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);
}
}
@@ -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);
}
}
}
@@ -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();
}
}
@@ -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;
}
}
@@ -0,0 +1,57 @@
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+"); // Remove punctuation marks
HashSet<String> uniqueWords = new HashSet<>();
for (String word : words) {
if (!word.isEmpty()) { // Ignore empty words
uniqueWords.add(word.toLowerCase()); // Convert word to lowercase and add to HashSet
}
}
String[] uniqueSortedWords = uniqueWords.toArray(new String[0]);
Arrays.sort(uniqueSortedWords); // Sort unique words by the first letter
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 {
// Об'єднуєм два типа
}
@@ -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();
}
}
@@ -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);
}
}
@@ -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);
}
}
@@ -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 + " грн.";
}
}
+7 -52
View File
@@ -1,60 +1,15 @@
import java.util.Scanner;
import java.util.InputMismatchException;
public class Main { public class Main {
public static void main(String[] args) { public static void main(String[] args) {
Scanner scan = new Scanner(System.in); System.out.println(args[1]);
System.out.println("Введіть значення n:"); System.out.println("Hello world!");
double n = 0; // System.out.println(1);
try {
n = scan.nextDouble();
} catch (InputMismatchException e) {
System.out.println("Число введене не вірно");
System.exit(0);
}
System.out.println("Введіть значення m:");
double m = 0;
try {
m = scan.nextDouble();
} catch (InputMismatchException e) {
System.out.println("Число введене не вірно");
System.exit(0);
} }
System.out.println("Введіть значення a:"); void myFunction() {
double a = 0;
try {
a = scan.nextDouble();
} catch (InputMismatchException e) {
System.out.println("Число введене не вірно");
System.exit(0);
}
System.out.println("Введіть значення b:");
double b = 0;
try {
b = scan.nextDouble();
} catch (InputMismatchException e) {
System.out.println("Число введене не вірно");
System.exit(0);
}
if (a > n) {
System.out.println("Значення n має бути більшим або рівним a");
System.exit(0);
}
if (b > m) {
System.out.println("Значення m має бути більшим або рівним b");
System.exit(0);
}
double s1 = 0;
double s2 = 0;
for (double i = a; i <= n; i++) {
for (double j = b; j <= m; j++){
// оскільки C дорівнює 0, то можна скоротити i
s1=s1+(1/j);
} }
s2=s2+s1;
} int myFunction2() {
System.out.println("Результат:" + s2); return 1;
} }
} }
@@ -0,0 +1,20 @@
package encapsulationInheritancePolymorphism;
public class Encapsulation {
/*private*/ int field;
private int field2;
// int a = 1;
public void myMethodForTheField () {
System.out.println(field);
}
public void myMethodForTheField2 () {
System.out.println(field);
}
public void myMethodForTheFieldAndTheField2 () {
System.out.println(field);
}
}
@@ -0,0 +1,10 @@
package encapsulationInheritancePolymorphism;
public class EncapsulationInheritancePolymorphism {
public static void main(String[] args) {
int a = 1;
// var b = 2;
// System.out.println(b);
}
}
@@ -0,0 +1,14 @@
package encapsulationInheritancePolymorphism;
public class Main {
public static void main(String[] args) {
Student student = new Student();
//...
student.setFaculty("FPM", "MO-22");
}
}
@@ -0,0 +1,18 @@
package encapsulationInheritancePolymorphism;
public class Student {
private String name;
private String surname;
private String group;
private String faculty;
public String getName() {
return name;
}
public void setFaculty(String faculty, String group) {
this.faculty = faculty;
this.group = group;
}
}
-62
View File
@@ -1,62 +0,0 @@
package lab2;
import java.util.InputMismatchException;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("Введіть значення n:");
double n = 0;
try {
n = scan.nextDouble();
} catch (InputMismatchException e) {
System.out.println("Число введене не вірно");
System.exit(0);
}
System.out.println("Введіть значення m:");
double m = 0;
try {
m = scan.nextDouble();
} catch (InputMismatchException e) {
System.out.println("Число введене не вірно");
System.exit(0);
}
System.out.println("Введіть значення a:");
double a = 0;
try {
a = scan.nextDouble();
} catch (InputMismatchException e) {
System.out.println("Число введене не вірно");
System.exit(0);
}
System.out.println("Введіть значення b:");
double b = 0;
try {
b = scan.nextDouble();
} catch (InputMismatchException e) {
System.out.println("Число введене не вірно");
System.exit(0);
}
if (a > n) {
System.out.println("Значення n має бути більшим або рівним a");
System.exit(0);
}
if (b > m) {
System.out.println("Значення m має бути більшим або рівним b");
System.exit(0);
}
double s1 = 0;
double s2 = 0;
for (double i = a; i <= n; i++) {
for (double j = b; j <= m; j++){
// оскільки C дорівнює 0, то можна скоротити i
s1=s1+(1/j);
}
s2=s2+s1;
}
System.out.println("Результат:" + s2);
}
}
+13
View File
@@ -0,0 +1,13 @@
package test;
public class A {
/*private*/ int f/* = 3*/;
public int getF() {
return f;
}
public void setF(int f) {
this.f = f;
}
}
+15
View File
@@ -0,0 +1,15 @@
package test;
public class Main {
public static void main(String[] args) {
A a = new A();
System.out.println(a.getF());
a.setF(1);
System.out.println(a.getF());
System.out.println(a.f);
int[] array = {1, 2, 1};
System.out.println(array.length);
}
}