Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.company;
- import java.util.ArrayList;
- import java.util.Objects;
- import java.util.Scanner;
- import java.util.Arrays;
- class Main
- {
- private static Object[] InvertArray(Object[] array) {
- for (int i = 0; i < array.length / 2; i++) {
- Object temp = array[i];
- array[i] = array[array.length - 1 - i];
- array[array.length - 1 - i] = temp;
- }
- return array;
- }
- public static void First() {
- Scanner scanner = new Scanner(System.in);
- boolean isDecrease;
- boolean isSorted = true;
- String[] string = new String[0];
- String regex = "[+-]?([0-9]*[.])?[0-9]+";
- System.out.println("Задача 1");
- boolean isCorrect = false;
- while (!isCorrect) {
- isCorrect = true;
- System.out.print("Введите числа через пробел: ");
- string = scanner.nextLine().split(" ");
- if (string.length < 2) {
- System.out.println("Введён один элемент: " + string[0]);
- return;
- }
- for (String str : string) {
- if(!str.matches(regex)) {
- System.out.print("Строка содержит не цифры: ");
- isCorrect = false;
- break;
- }
- }
- }
- Float[] array = new Float[string.length];
- for (int i = 0; i < string.length; i += 1) {
- array[i] = Float.parseFloat(string[i]);
- }
- int i = 1;
- while (Objects.equals(array[i - 1], array[i])) {
- if (i == string.length - 1) {
- System.out.println("Все числа равны");
- return;
- }
- i += 1;
- }
- isDecrease = array[i - 1] >= array[i];
- for (i = 1; i < array.length - 1; i += 1) {
- boolean _isDecrease = array[i] >= array[i + 1];
- if (isDecrease != _isDecrease) {
- isSorted = false;
- break;
- }
- }
- if (isSorted == false) {
- System.out.println("Числа не отсортированы");
- }
- else {
- System.out.printf("Числа отсортированы по %s \n", (isDecrease ? "убванию" : "возрастанию"));
- }
- Arrays.sort(array);
- if (isSorted){
- if (isDecrease) {
- System.out.printf("Числа отсортированные по возрастанию: %s\n", Arrays.toString(array));
- }
- else {
- System.out.printf("Числа отсортированные по возрастанию: %s\n", Arrays.toString(InvertArray(array)));
- }
- }
- else {
- System.out.printf("Числа отсортированные по возрастанию: %s\n", Arrays.toString(array));
- System.out.printf("Числа отсортированные по возрастанию: %s\n", Arrays.toString(InvertArray(array)));
- }
- }
- private static void Second() {
- Scanner scanner = new Scanner(System.in);
- int n;
- System.out.println("Задача 2");
- do {
- System.out.print("Введите количество слов: ");
- while (!scanner.hasNextInt()) {
- System.out.print("Неверный ввод. Введите число: ");
- scanner.next(); // this is important!
- }
- n = scanner.nextInt();
- } while (n <= 0);
- String[] str = new String[n];
- for (int i = 0; i < n; i++) {
- System.out.printf("str[%s]: ", i);
- str[i] = new Scanner(System.in).next();
- }
- for(int i=0; i<str.length-1; i++) {
- for(int j=i+1;j<str.length;j++) {
- if(str[i].length()>=3 && str[j].length()>=3) {
- if(str[i].charAt(2)>str[j].charAt(2)) {
- String temp = str[i];
- str[i]=str[j];
- str[j]=temp;
- }
- }
- else {
- var c1 = str[j].charAt(str[j].length() - 1);
- var c2 = str[i].charAt(str[i].length() - 1);
- if(str[i].length()<3 && str[j].length()<3) {
- if(c2 > c1) {
- String temp = str[i];
- str[i]=str[j];
- str[j]=temp;
- }
- }
- else if(str[i].length()<3 && str[j].length()>=3) {
- if(c2 >str[j].charAt(2)) {
- String temp = str[i];
- str[i]=str[j];
- str[j]=temp;
- }
- }
- else if(str[i].length()>=3 && str[j].length()<3) {
- if(str[i].charAt(2)> c1) {
- String temp = str[i];
- str[i]=str[j];
- str[j]=temp;
- }
- }
- }
- }
- }
- System.out.println("Отсортированный список слов по возрастанию:");
- System.out.println(Arrays.toString(str));
- System.out.println("Отсортированный список слов по убыванию:");
- System.out.println(Arrays.toString(InvertArray(str)));
- }
- public static void Third() {
- System.out.println("Задача 3");
- Scanner scanner = new Scanner(System.in);
- System.out.print("Введите предложение: ");
- String input = scanner.nextLine();
- input = input.replaceAll(",", " ");
- input = input.replaceAll("\\.", " ");
- input = input.replaceAll(" ", " ");
- String[] strings = input.split(" ");
- ArrayList<String> palindromes = new ArrayList<>();
- for (String str : strings) {
- StringBuffer rev = new StringBuffer(str).reverse();
- String strRev = rev.toString();
- if(str.equalsIgnoreCase(strRev)) {
- palindromes.add(str);
- }
- }
- System.out.printf("Список палиндромов: %s \n", Arrays.toString(palindromes.toArray(new String[0])));
- }
- public static void main(String[] args) {
- First();
- Second();
- Third();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement