235 lines
12 KiB
Java
235 lines
12 KiB
Java
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());
|
||
}
|
||
}
|
||
|
||
|
||
}
|
||
} |