Compare commits

..

11 Commits

Author SHA1 Message Date
Suzik123 4409214bef Лабораторна робота 6 2023-05-07 19:26:35 +03:00
Suzik123 c27b4fbae5 Лаба 5 2023-04-30 14:10:02 +03:00
Suzik123 e31e1a02a7 Лаба4 2023-04-18 11:23:11 +03:00
Suzik123 94db4cd912 Лаба4 2023-04-17 23:01:28 +03:00
Suzik123 30d7593d16 123 2023-04-17 21:17:48 +03:00
Suzik123 efd1239ce1 Merge remote-tracking branch 'origin/IO-23/16-Lastovets-Oleksandr-Andriiovych' into IO-23/16-Lastovets-Oleksandr-Andriiovych 2023-04-17 21:10:39 +03:00
Suzik123 7603e0d328 Лабораторна 2 2023-04-17 21:10:15 +03:00
Suzik123 02850e7edb Лабораторна 3 2023-04-01 19:13:24 +03:00
Suzik123 4fbc82ec5d Лабораторна 2 2023-03-31 21:57:56 +03:00
Suzik123 c48d765647 Лабораторна 2 2023-03-08 09:16:53 +02:00
Suzik123 8b52d689ea Laba 2023-03-02 16:30:54 +02:00
35 changed files with 1100 additions and 1059 deletions
-2
View File
@@ -1,2 +0,0 @@
# Project exclude paths
/out/
+1 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectRootManager" version="2" languageLevel="JDK_19" default="true" project-jdk-name="openjdk-18" project-jdk-type="JavaSDK">
<component name="ProjectRootManager" version="2" languageLevel="JDK_19" default="true" project-jdk-name="19" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/out" />
</component>
</project>
+2 -1
View File
@@ -2,7 +2,8 @@
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/OOP_IO-2x_2023.iml" filepath="$PROJECT_DIR$/OOP_IO-2x_2023.iml" />
<module fileurl="file://$PROJECT_DIR$/lab1.iml" filepath="$PROJECT_DIR$/lab1.iml" />
<module fileurl="file://$PROJECT_DIR$/laba3/laba3.iml" filepath="$PROJECT_DIR$/laba3/laba3.iml" />
</modules>
</component>
</project>
-124
View File
@@ -1,124 +0,0 @@
<?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
@@ -0,0 +1,38 @@
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
@@ -0,0 +1,188 @@
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
@@ -0,0 +1,32 @@
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
@@ -0,0 +1,27 @@
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
@@ -0,0 +1,29 @@
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
@@ -0,0 +1,26 @@
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
@@ -0,0 +1,11 @@
<?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
@@ -0,0 +1,93 @@
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
@@ -0,0 +1,49 @@
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
@@ -0,0 +1,235 @@
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
@@ -0,0 +1,80 @@
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
@@ -0,0 +1,16 @@
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
@@ -0,0 +1,117 @@
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
@@ -0,0 +1,17 @@
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
@@ -0,0 +1,17 @@
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.
-140
View File
@@ -1,140 +0,0 @@
package Lab1;
import java.util.InputMismatchException;
import java.util.Scanner;
public class Lab1 {
public static void main(String[] args) {
int C2, C3, C5, C7; // creating variables
int numBook = 2401; // default value of scorebook
Scanner sc = new Scanner(System.in); // scanner creating for inputing values from keyboard
System.out.println("By default number of scorebook is 2401. \nEnter to skip or input new value: ");
String input = sc.nextLine();
if (!input.equals("")) { // try-catch for checking correct inputing of value
try {
numBook = Math.abs(Integer.parseInt(input)); // scorebook can be only unsigned
} catch (NumberFormatException e) {
System.out.println("Invalid input. Using default value 2401"); // printing that will be used default value
}
}
String[] operations1 = {"+", "-"};//
String[] operations2 = {"*", "/", "%", "+", "-"}; // String array for choosing operations
String[] operations3 = {"byte", "short", "int", "long", "char", "float", "double"}; //
// determining variables
C2 = numBook % 2;
C3 = numBook % 3;
C5 = numBook % 5;
C7 = numBook % 7;
String O1 = operations1[C2];
int C = C3;
String O2 = operations2[C5];
String O3 = operations3[C7];
System.out.println("C2 is: " + C2 + ", operation is: " + O1); //
System.out.println("C3 is: " + C); // printing parameters that user got
System.out.println("C5 is: " + C5 + ", operation is: " + O2); //
System.out.println("C7 is: " + C7 + ", Type of indexes i and j is: " + O3); //
Number i = 0; // creating objects i j of (abstract)superclass Number
Number j = 0; //
System.out.println("\nEnter a value for i and j in the " + O3 + " type: ");
switch (O3) { // Choosing type of i and j by C7
case "byte" -> {
try {
i = sc.nextByte();
j = sc.nextByte();
} catch (InputMismatchException e) {
System.out.println("Invalid input. Please enter a valid byte value.");
sc.nextLine();
}
}
case "short" -> {
i = sc.nextShort();
j = sc.nextShort();
}
case "int" -> {
i = sc.nextInt();
j = sc.nextInt();
}
case "long" -> {
i = sc.nextLong();
j = sc.nextLong();
}
case "char" -> {
System.out.println("Read only first character!");
i = (int) sc.next().charAt(0);
j = (int) sc.next().charAt(0);
}
case "float" -> {
i = sc.nextFloat();
j = sc.nextFloat();
}
case "double" -> {
i = sc.nextDouble();
j = sc.nextDouble();
}
}
System.out.println("The value of the created variables is: " + i + " and " + j);
class Sum { // creating class Sum
int n, m;
double i, j;
public Sum(double i, double j, int n, int m) { // Constructor to initialize all variables
this.i = i;
this.j = j;
this.n = n;
this.m = m;
}
public void calc() { // create method for our class
double sum = 0, result = 0, result2 = 0;
if ((O1.equals("-") && i + n >= C && i <= C) || (C == 0 && i == 0)) { // exclude situations
System.out.println("dividing by zero!"); // with dividing by 0
} else if (i > n || j > m) {
System.out.println("i or j greater than n or m");
} else {
for (double b = i; b <= n; b++) {
for (double a = j; a <= m; a++) {
switch (O2) {
case "+" -> result = b + a;
case "-" -> result = b - a;
case "*" -> result = b * a;
case "/" -> result = b / a;
case "%" -> result = b % a;
}
switch (O1) {
case "+" -> result2 = b + C;
case "-" -> result2 = b - C;
}
sum += result / result2;
}
}
System.out.println("Sum is: " + sum);
}
}
}
System.out.print("Enter value for n and m: \n");
int n = sc.nextInt();
int m = sc.nextInt();
Sum sum = new Sum(i.doubleValue(), j.doubleValue(), n, m); // creating new instance of Sum class
// .doubleValue() converting our variables to double
sum.calc();
sc.close();
}
}
-153
View File
@@ -1,153 +0,0 @@
package Lab2;
import java.util.Scanner;
import java.util.Random;
public class Lab2 {
public static void main(String[] args) {
final int C5, C7, C11, NumBook;
NumBook = 2401;
C5 = NumBook % 5;
C7 = NumBook % 7;
C11 = NumBook % 11;
System.out.println("-----------------------------------------------------");
System.out.println("C5 is: " + C5 + " - act with martix is C=Bт");
System.out.println("C7 is: " + C7 + " - type of elements is double");
System.out.println("C11 is: " + C11 + " - calculate the sum of the largest elements\n" +
"of each row of the matrix");
System.out.println("-----------------------------------------------------");
int Mside = 0;
int Nside = 0;
int Choose;
double MaxSum = 0;
Random rand = new Random();
Scanner sc = new Scanner(System.in);
while (true) {
try {
System.out.print("Enter random or handle input(1 or 0): ");
Choose = Math.abs(Integer.parseInt(sc.nextLine()));
if (Choose == 1 || Choose == 0) {
break;
}
} catch (NumberFormatException e) {
System.out.println("Invalid input. Please enter an integer.");
}
}
while (true) {
try {
System.out.print("Enter number of rows: ");
Mside = Math.abs(Integer.parseInt(sc.nextLine()));
if (Mside <= 0) {
System.out.println("Invalid input. Number of rows must be greater than 0");
} else {
break;
}
} catch (NumberFormatException e) {
System.out.println("Invalid input. Please enter an integer.");
}
}
while (true) {
try {
System.out.print("Enter number of columns: ");
Nside = Math.abs(Integer.parseInt(sc.nextLine()));
if (Nside <= 0) {
System.out.println("Invalid input. Number of columns must be greater than 0");
} else {
break;
}
} catch (NumberFormatException e) {
System.out.println("Invalid input. Please enter an integer.");
}
}
final int lenghtMaxElements = 5;
double[][] CArray = new double[Mside][Nside];
double[][] TransposedArray = new double[Nside][Mside];
double[][] MaxElements = new double[Nside][lenghtMaxElements];
if (Choose == 1) {
for (int i = 0; i < Mside; i++) {
for (int j = 0; j < Nside; j++) {
CArray[i][j] = rand.nextDouble(-100, 100);
}
}
}
if (Choose == 0) {
for (int i = 0; i < Mside; i++) {
for (int j = 0; j < Nside; j++) {
while (true) {
try {
System.out.printf("Enter the element at position (%d,%d): ", i + 1, j + 1);
CArray[i][j] = Double.parseDouble(sc.nextLine());
break;
} catch (NumberFormatException e) {
System.out.println("Invalid input. Please enter a valid number.");
}
}
}
}
}
for (int i = 0; i < Mside; i++) {
for (int j = 0; j < Nside; j++) {
System.out.printf("%8.2f", CArray[i][j]);
}
System.out.println();
}
for (int i = 0; i < Nside; i++) {
for (int j = 0; j < Mside; j++) {
TransposedArray[i][j] = CArray[j][i];
}
}
System.out.println("Transposed array is:");
int row, cols;
for (row = 0; row < Nside; row++) {
for (cols = 0; cols < Mside; cols++) {
System.out.printf("%8.2f", TransposedArray[row][cols]);
}
System.out.println();
}
for (int i = 0; i < Nside; i++) {
MaxElements[i][0] = TransposedArray[i][0];
for (int j = 1; j < Mside; j++) {
MaxElements[i][1] = i;
if (TransposedArray[i][j] > MaxElements[i][0]) {
MaxElements[i][0] = TransposedArray[i][j];
MaxElements[i][2] = j;
} else if (TransposedArray[i][j] == MaxElements[i][0]) {
MaxElements[i][3] = MaxElements[i][0];
MaxElements[i][4] = 1;
}
}
//System.out.println(MaxElements[i][0] +" "+ MaxElements[i][1] +" "+ MaxElements[i][2] + " " + MaxElements[i][3] + " " + MaxElements[i][4]);
//code i used for debug
}
System.out.println("Max elements for each row:");
if (Mside == 1) {
System.out.println("I can`t find max element for mx1 matrix");
} else {
for (int i = 0; i < Nside; i++) {
if (MaxElements[i][0] == MaxElements[i][3] && MaxElements[i][4] == 1) {
System.out.printf("In row %1.0f does not exist a max element\n", MaxElements[i][1] + 1);
} else {
System.out.printf("%8.2f is max value and his coordinate: (%1.0f, %1.0f)\n", MaxElements[i][0], MaxElements[i][1] + 1, MaxElements[i][2] + 1);
MaxSum += MaxElements[i][0];
}
}
System.out.printf("Sum of elements with max values is: %.2f\n", MaxSum);
}
}
}
-73
View File
@@ -1,73 +0,0 @@
package Lab3;
import java.util.Scanner;
import java.util.ArrayList;
import java.util.Collections;
public class Lab3 {
public static void main(String[] args) {
System.out.println("Введіть текст:");
Scanner scan = new Scanner(System.in); // Створюємо об'єкт Scanner для зчитування введеного тексту з консолі
String inputText = scan.nextLine(); // Зчитуємо введений текст користувача
StringBuffer textBuffer = new StringBuffer(inputText); // Створюємо відподні об'єкти StringBuffer
StringBuffer result = new StringBuffer();
while (!textBuffer.isEmpty()) { // Починаємо цикл, який виконується, доки об'єкт textBuffer не стане порожнім
int index1 = textBuffer.indexOf("."); // Знаходимо індекси для символів, які закінчують речення
int index2 = textBuffer.indexOf("!");
int index3 = textBuffer.indexOf("?");
int index4 = textBuffer.indexOf("...");
int[] SplitIndexArray = {index1, index2, index3, index4};
ArrayList<Integer> list = new ArrayList<>();
for (int j : SplitIndexArray) { // Перебираємо кожну позицію з масиву
if (j >= 0) { // Якщо символ не стоїть перед реченням, додаємо його
list.add(j);
}
}
int min = Collections.min(list); // Знаходимо мінімальну позицію, щоб працювати з першим реченням
String sentenceString = textBuffer.substring(0, min); // Виділяємо перше речення до знайденого розділового знаку
StringBuffer sentence = new StringBuffer(sentenceString); // Створюємо об'єкт StringBuffer для речення з пробілом
if (sentenceString.contains(" ")) { // Перевіряємо, чи перше речення містить більше одного слова
String firstword1;
String secondword1 = textBuffer.substring(sentence.lastIndexOf(" ") + 1, sentence.length()); // Виділяємо друге слово з речення
String secondword2;
secondword2 = secondword1.substring(0, 1).toUpperCase() + secondword1.substring(1, secondword1.length()); // Першу літеру робимо великою, решту слова копіюємо
StringBuffer secondword = new StringBuffer(secondword2);
if (sentence.charAt(sentence.indexOf(" ") - 1) == ',') { // Перевіряємо, чи перед першим словом є кома
firstword1 = textBuffer.substring(0, sentence.indexOf(" ") - 1); // Виділяємо перше слово з речення
secondword.append(","); // Додаємо кому до другого слова
} else {
firstword1 = textBuffer.substring(0, sentence.indexOf(" ")); // Виділяємо перше слово з речення
}
String firstword2 = firstword1.substring(0, 1).toLowerCase() + firstword1.substring(1, firstword1.length()); // Перетворюємо першу літеру першого слова малою
StringBuffer firstword = new StringBuffer(firstword2);
firstword.insert(0, " "); // Додаємо пробіл перед першим словом
sentence.delete(0, sentence.indexOf(" ")); // Видаляємо перше слово з речення
sentence.insert(0, secondword); // Додаємо друге слово на початок речення
sentence.delete(sentence.lastIndexOf(" "), sentence.length()); // Видаляємо останнє слово з речення
sentence.append(firstword); // Додаємо перше слово в кінець речення
}
if ((index1 == index4) && (index1 == min)) { // Перевіряємо випадок, коли речення закінчується на "..."
sentence.append(textBuffer.substring(min, min + 3)); // Додаємо "..." до речення
textBuffer.delete(0, min + 4); // видаляємо з textBuffer
} else {
sentence.append(textBuffer.substring(min, min + 1)); // Додаємо '.' до речення
textBuffer.delete(0, min + 2); // видаляємо з textBuffer
}
sentence.append(" "); // Додаємо пробіл
result.append(sentence); // Додаємо речення до результату
}
System.out.println(result);
}
}
-118
View File
@@ -1,118 +0,0 @@
package Lab4;
import java.util.Comparator;
public class Airplane {
private int number; // Номер літака
private String model; // Модель літака
private String airline; // Компанія-власник
private int capacity; // Ємність для пасажирів
private double fuelCapacity; // Ємність палива
private boolean isFlying; // Стан літака: летить/в ангарі
// Конструктор класа
public Airplane(int number, String model, String airline, int capacity, double fuelCapacity) {
this.number = number;
this.model = model;
this.airline = airline;
this.capacity = capacity;
this.fuelCapacity = fuelCapacity;
this.isFlying = false;
}
// Методи доступу, а саме геттери
public int getNumber() {
return number;
}
public String getModel() {
return model;
}
public String getAirline() {
return airline;
}
public int getCapacity() {
return capacity;
}
public double getFuelCapacity() {
return fuelCapacity;
}
public boolean isFlying() {
return isFlying;
}
public void setFlying(boolean flying) {
isFlying = flying;
}
// Метод для запускання літака
public void takeOff() {
if (isFlying) { // Перевірка, якщо літає, то його знову не запустити,
// у мому коді до цього уже є перевірка, але якщо наприклад розришяти
// для інших програм, де перевірки не буде, то воно збереже від помилки
System.out.println("The airplane is already flying.");
} else {
System.out.println("Taking off...");
// Виводимо інформацію про взліт літака, міняємо прапор на 'true'
isFlying = true;
System.out.println("Airplane " + number + " took off!");
}
}
// Метод для посадки літака
public void land() {
if (!isFlying) { // та сама перевірка, тільки для посадки
System.out.println("The airplane is already on the ground.");
} else {
// садимо літак, пасажири плескають в долоні, а прапор 'false'
System.out.println("Landing...");
isFlying = false;
System.out.println("Airplane number " + number + " landed!");
System.out.println("Passengers: *claps*");
}
}
// Перевизначений метод toString для виведення інформації про літак у зручному форматі
@Override
public String toString() {
String flying = "In angar";
if (isFlying) {
flying = "Flying"; // друкувати стан прапора було би не естетично, тому перевіряємо 'true' - Flying
}
return String.format("%-7d | %-25s | %-10s | %-8d | %-12.1f | %-10s",
number, model, airline, capacity, fuelCapacity, flying); // використовуємо метод .format для зручного виведення
}
}
// Клас, що реалізує інтерфейс Comparator для порівняння літаків за номером
class SortByNumber implements Comparator<Airplane> {
public int compare(Airplane a, Airplane b) {
return a.getNumber() - b.getNumber();
}
}
// Клас, що реалізує інтерфейс Comparator для порівняння літаків за моделлю
class SortByModel implements Comparator<Airplane> {
public int compare(Airplane a, Airplane b) {
return a.getModel().compareTo(b.getModel()); // Для типу String використовуємо метод compareTo
}
}
// Клас, що реалізує інтерфейс Comparator для порівняння літаків за ємністю
class SortByCapacity implements Comparator<Airplane> {
public int compare(Airplane a, Airplane b) {
return a.getCapacity() - b.getCapacity();
}
}
// Клас, що реалізує інтерфейс Comparator для порівняння літаків за ємністю палива
class SortByFuelCapacity implements Comparator<Airplane> {
public int compare(Airplane a, Airplane b) {
return Double.compare(a.getFuelCapacity(), b.getFuelCapacity()); // Для типу double застосовуємо відповідний метод
// з абстрактного класу Double
}
}
-101
View File
@@ -1,101 +0,0 @@
package Lab4;
import java.util.Arrays;
import java.util.Comparator;
import java.util.Scanner;
public class Lab4 {
int C11 = 2401 % 11; // 3 - Визначити клас літак, який складається як мінімум з 5-и полів.
public static void main(String[] args) {
Airplane[] airplanes = { // Створюємо масив літаків, можливості створити літак, який одразує літає неможливо,
// що логічно
new Airplane(1, "Boeing 747", "Airline 1", 20, 50000.0),
new Airplane(2, "Airbus A320", "Airline 1", 300, 3000.0),
new Airplane(3, "Embraer E190", "Airline 2", 1700, 2000.0),
new Airplane(4, "Cessna 172", "Airline 3", 400, 1500.0),
new Airplane(5, "Bombardier Global 6000", "Airline 1", 100, 800.0),
};
Scanner scanner = new Scanner(System.in); // Підключаємо Scanner
boolean quit = false;
while (!quit) { // Нескінченний цикл поки користувач не введе 'q'
System.out.print("\nEnter the field to sort by (number, model, capacity, fuelcapacity), 'fly' to fly airplane or enter 'q' to exit: ");
String input = scanner.nextLine();
// перевірка чи правильно введено слово
if (!input.equals("number") && !input.equals("model") && !input.equals("capacity") && !input.equals("fuelcapacity") && !input.equals("q") && !input.equals("fly")) {
System.out.println("Invalid field to sort by! Please enter 'number', 'model', 'capacity', 'fuelcapacity'.");
continue;
}
// перевірка виходу з програми
if (input.equals("q")) {
quit = true;
System.out.println("Closing program...");
continue;
}
// перевірка, чи користувач хоче запустити літак
if (input.equals("fly")){
buildBoard(airplanes); // виводимо таблицю літаків, через функцію buildBoard
System.out.print("Enter the airplane number to make it fly or land if it already fly: ");
int airplaneNumber = scanner.nextInt();
scanner.nextLine();
// Знаходимо вибраний літак
Airplane selectedAirplane = null;
for (Airplane airplane : airplanes) {
if (airplane.getNumber() == airplaneNumber) {
selectedAirplane = airplane;
break;
}
}
// перевірка, якщо літає - садимо на землю, якщо в ангарі, то запускаємо в повітр'я
if (selectedAirplane != null) {
if (selectedAirplane.isFlying()) {
selectedAirplane.land(); // викликаємо метод для посадки
} else {
selectedAirplane.takeOff(); // викликаємо метод для запуску
}
} else {
System.out.println("No airplane found with the specified number.");
}
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;
}
// "потужний" swtich
Comparator<Airplane> comparator = switch (field) { // в залежності від введеного слова - певний метод сортування
case "number" -> new SortByNumber();
case "model" -> new SortByModel();
case "capacity" -> new SortByCapacity();
case "fuelcapacity" -> new SortByFuelCapacity();
default -> null;
};
if (order.equals("desc")) { // інвертуємо для зворотнього порядку
comparator = comparator.reversed();
}
Arrays.sort(airplanes, comparator); // сортуємо літаки за результатами компоратора
System.out.println("\nSorted by " + field + " (in " + order + "ending order):");
buildBoard(airplanes); // виклик функції buildBoard
}
}
public static void buildBoard(Airplane[] airplanes){ // Функція нічого не повертає, приймає на вхід масив літаків
System.out.println(String.format("%n%-7s | %-25s | %-10s | %-6s | %12s | %-10s", "Number", "Model", "Airline", "Capacity", "Fuel Capcity", "Is flying"));
System.out.println("---------------------------------------------------------------------------------------");
for (Airplane airplane : airplanes) { // "потужний" цикл for, щоб зручно перебрати літаки
System.out.println(airplane.toString()); // викликаємо метод toSring(), який є прикладом поліморфізму
}
}
}
-97
View File
@@ -1,97 +0,0 @@
package Lab6;
import java.util.Comparator;
/**
* Абстрактний клас Car представляє основні властивості автомобіля
* Він містить конструктор для ініціалізації властивостей автомобіля,
* а також методи доступу до цих властивостей.
*/
public abstract class Car {
private final String make; // Марка автомобіля
private final String model; // Модель автомобіля
private final int year; // Рік випуску автомобіля
private final int price; // Ціна автомобіля
private final int speed; // Швидкість автомобіля
private final double fuelConsumption;// Споживання палива автомобілем
/**
* Конструктор класу Car ініціалізує властивості автомобіля.
*
* @param make марка автомобіля
* @param model модель автомобіля
* @param year рік випуску автомобіля
* @param price ціна автомобіля
* @param speed швидкість автомобіля
* @param fuelConsumption споживання палива автомобілем
*/
public Car(String make, String model, int year, int price, int speed, double fuelConsumption) {
this.make = make;
this.model = model;
this.year = year;
this.price = price;
this.speed = speed;
this.fuelConsumption = fuelConsumption;
}
// Звичайні геттери, тому їх сильно не розписував
public String getMake() {
return make;
}
public String getModel() {
return model;
}
public int getYear() {
return year;
}
public int getPrice() {
return price;
}
public int getSpeed() {
return speed;
}
public double getFuelConsumption() {
return fuelConsumption;
}
/**
* Перезаписаний метод toString для представлення об'єкту автомобіля у вигляді рядка.
*
* @return рядок, що містить всі властивості абстрактного автомобіля
*/
@Override
public String toString() {
return String.format("%-10s | %-7s | %-6s | %-6d | %-5d | %-5s | ",
make, model, year, price, speed, fuelConsumption);
}
}
/**
* Клас SortByFuelConsuming реалізує інтерфейс Comparator і використовується для порівняння автомобілів
* за споживанням палива.
*/
class SortByFuelConsuming implements Comparator<Car> {
/**
* Метод compare порівнює два об'єкти Car за споживанням палива.
* Він порівнює значення споживання палива для обох автомобілів.
*
* @param a перший автомобіль
* @param b другий автомобіль
* @return -1, 0 або 1, якщо перше значення менше, рівне або більше другого відповідно
*/
public int compare(Car a, Car b) {
return Double.compare(a.getFuelConsumption(), b.getFuelConsumption());
}
}
// Щоб реалізувати ієрархію я рішив використати абстрактний клас машини, який має всі базові якості машини
// його нащадки мають додаткове поле, крім того різних типів
// Клас SortByFuelConsuming є інтерфейсом Comparator і використовується для порівняння автомобілів
// за споживанням палива.
// повертає значення за яким потім буде сортуватися масив машин
-20
View File
@@ -1,20 +0,0 @@
package Lab6;
public class Coupe extends Car {
private final String bodyType;
// Клас купе має додатковий тип який визначає тип кузова, або можна написати чи машина без криші чи з кришою
public Coupe(String make, String model, int year, int price, int speed, double fuelConsumption, String bodyType) {
super(make, model, year, price, speed, fuelConsumption);
this.bodyType = bodyType;
}
public String getBodyType() {
return bodyType;
}
@Override
public String toString() {
return super.toString()+ String.format("Type: %-10s |" , bodyType); // викликаємо супер-метод, додаємо тип кузова
}
}
-24
View File
@@ -1,24 +0,0 @@
package Lab6;
public class Hatchback extends Car {
private int numberOfDoors;
// Клас Hatchback має додаткову властивість - кількість дверей
public Hatchback(String make, String model, int year, int price, int speed, double fuelConsumption, int numberOfDoors) {
super(make, model, year, price, speed, fuelConsumption);
this.numberOfDoors = numberOfDoors;
}
public int getNumberOfDoors() {
return numberOfDoors;
}
public void setNumberOfDoors(int numberOfDoors) {
this.numberOfDoors = numberOfDoors;
}
@Override
public String toString() {
return super.toString() + String.format("Doors: %-10d |" , numberOfDoors); // додаємо до супер-методу нову властивість
}
}
-23
View File
@@ -1,23 +0,0 @@
package Lab6;
public class Sedan extends Car {
private int seatingCapacity;
// У об'єктів класу седан особливим є кільість пасажирських місць
public Sedan(String make, String model, int year,int price, int speed, double fuelConsumption, int seatingCapacity) {
super(make, model, year, price, speed, fuelConsumption);
this.seatingCapacity = seatingCapacity;
}
public int getSeatingCapacity() {
return seatingCapacity;
}
public void setSeatingCapacity(int seatingCapacity) {
this.seatingCapacity = seatingCapacity;
}
@Override
public String toString() {
return super.toString() + String.format("Seats: %-10d |" , seatingCapacity); // додаємо до супер-методу додаткову властивість
}
}
-182
View File
@@ -1,182 +0,0 @@
package Lab6;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class TaxiPark {
private static List<Car> cars;
public TaxiPark() {
cars = new ArrayList<>();
} // Створюємо у таксопарка масив машин
public void addAutomobile(Car car) {cars.add(car);} // Метод для додавання машини у таксопарк
// Метод для додавання машини у таксопарк, але користувачем
public void addAutomobileConsole(String carType, String maker, String model, int year, int price, int speed, double fuelConsumption, Object additionalProperty){
Car car;
switch (carType) { // Удосконалений switch для створення конкретного типу машини
case "Coupe" ->
car = new Coupe(maker, model, year, price, speed, fuelConsumption, (String) additionalProperty); //
// Я придумав, що у купе поліморфізм виражається у тому, що вона може бути купе, без криші, туфелькою
// я дуже погано в машинах розбираюсь, тому надіюсь ви мене зрозуміли
case "Hatchback", "Sedan" ->
car = new Hatchback(maker, model, year, price, speed, fuelConsumption, (int) additionalProperty);
default -> {
System.out.println("Invalid car type");
return;
}
}
addAutomobile(car); // Виклик метода для додаваня машини у таксопарк, можна було без нього,
// одною строкою, але так мені це показалось логічним
}
public double calculateFleetCost() { // Метод для обрахунку ціни усіх машин
double totalCost = 0.0;
for (Car car : cars) {
totalCost += car.getPrice(); // Перебираємо усі машини, викликаємо у них метод getPrice()
}
return totalCost; // Повертаємо результат
}
public List<Car> findCarsBySpeedRange(int minSpeed, int maxSpeed) { // Метод для знаходження машин у діапазоні
List<Car> carsInSpeedRange = new ArrayList<>();
for (Car car : cars) {
if (car.getSpeed() >= minSpeed && car.getSpeed() <= maxSpeed) {
carsInSpeedRange.add(car); // Перебираємо машини, які задовольняються умові діапазону
}
}
return carsInSpeedRange;
}
public void boardCars(List<Car> cars){ // Метод для будування таблиці, приймає масив машин, і створює красиву табличку
System.out.println("----------------------------------------------------------------------------");
System.out.printf("%-10s | %-7s | %-6s | %-6s | %-5s | %-5s | %-10s | %n",
"Maker", "Model", "Year", "Price", "Speed", "Fuel", "Special");
System.out.println("----------------------------------------------------------------------------");
for (Car car : cars) {
System.out.println(car.toString());
}
System.out.println("----------------------------------------------------------------------------");
}
public void sortByFuelConsumption() { // Метод у таксопарка, який викликає клас для сортування
cars.sort(new SortByFuelConsuming());
boardCars(TaxiPark.cars); // будуємо відсортовану табличку
}
public static void main(String[] args) {
int C13 = 2401 % 13;
System.out.println("C13 - " + C13 + ", отже треба створити таксопар та ієрархію автомобілів.");
System.out.println("--------------------------------------------------------------\n");
TaxiPark taxiPark = new TaxiPark();
// Додати автомобілі до таксопарку
taxiPark.addAutomobile(new Sedan("Toyota", "Camry", 2020, 3500, 220, 7.5, 5));
taxiPark.addAutomobile(new Coupe("BMW", "M4", 2021, 3000, 150, 9.2, "Coupe"));
taxiPark.addAutomobile(new Hatchback("Volkswagen", "Golf", 2019, 6000, 200, 6.8, 6));
Scanner scanner = new Scanner(System.in); // Під'єднуємо сканер
boolean quit = false;
while (!quit) { // Нескінченний цикл поки користувач не введе 'q'
System.out.print("""
Enter:
'cost' - show total fleet
'sort' - show cars sorted by fuel consumption
'board' - show cars
'add' - buy car on your TaxiPark
'find' - find cars that in speed diapason
or enter 'q' to exit:\s""");
String input = scanner.nextLine();
// Перевірка чи правильно введено слово
if (!input.equals("cost") && !input.equals("sort") && !input.equals("board") && !input.equals("add") && !input.equals("q") && !input.equals("find")) {
System.out.println("Invalid field to sort by! Please enter 'cost', 'sort', 'board', 'add', 'find'.");
continue;
}
// Перевірка виходу з програми
if (input.equals("q")) {
quit = true;
System.out.println("Closing program...");
continue;
}
if (input.equals("cost")){
// Порахувати вартість автопарку
double fleetCost = taxiPark.calculateFleetCost(); // Викликаємо метод, який вже описав
System.out.println("Total fleet cost: $" + fleetCost);
continue;
}
if (input.equals("sort")){
// Відсортувати автомобілі за витратами палива
taxiPark.sortByFuelConsumption();
continue;
}
if (input.equals("board")){
taxiPark.boardCars(TaxiPark.cars); // Виведення таблички
continue;
}
if (input.equals("find")){
int minSpeed, maxSpeed;
System.out.println("Enter min speed: "); // Користувач вводе межі діапазона
minSpeed = scanner.nextInt();
System.out.println("Enter max speed:");
maxSpeed = scanner.nextInt();
scanner.nextLine(); // Тут залишався \n тому ми його з'їли
List<Car> carsInSpeedRange = taxiPark.findCarsBySpeedRange(minSpeed, maxSpeed); // Масив машин діапазону
System.out.println("Cars within the speed range of " + minSpeed + " km/h to " + maxSpeed + " km/h:");
taxiPark.boardCars(carsInSpeedRange); // Створенний масив передаємо методу для будування таблички
}
if (input.equals("add")){
// Користувач вводе багато значень, перевірки не добавив, тому акуратно)
System.out.println("Choose type of car: 'Sedan', 'Coupe', 'Hatchback'");
String carType = scanner.nextLine();
System.out.println("Enter Maker: ");
String maker = scanner.nextLine();
System.out.println("Enter Model: ");
String model = scanner.nextLine();
System.out.println("Enter year: ");
int year = scanner.nextInt();
System.out.println("Enter price (int)");
int price = scanner.nextInt();
System.out.println("Enter speed (int)");
int speed = scanner.nextInt();
System.out.println("Enter fuel consumption");
double fuelConsumption = scanner.nextDouble();
scanner.nextLine();
Object additionalProperty = null; // Абстрактний об'єкт, далі в switch він набуде тип
switch (carType) {
case "Sedan", "Hatchback" -> {
System.out.println("Enter special(int):");
additionalProperty = scanner.nextInt();
}
case "Coupe" -> {
System.out.println("Enter special(any):");
additionalProperty = scanner.nextLine();
}
default -> System.out.println("Invalid car type");
}
// Передаємо всі введені значення методу для купівлі машини у таксопарк
taxiPark.addAutomobileConsole(carType, maker, model, year, price, speed, fuelConsumption, additionalProperty);
}
}
}
}
+60
View File
@@ -0,0 +1,60 @@
import java.util.Scanner;
import java.util.InputMismatchException;
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);
}
}
+62
View File
@@ -0,0 +1,62 @@
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);
}
}