Advertisement
soxsten

task8

Aug 17th, 2017
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.67 KB | None | 0 0
  1. /**
  2.      * Ввести N слов. Помимо обычных слов, во входной последовательности могут встречаться
  3.      * целые числа. Среди них необходимо найти число-палиндром (одинаково читающееся в обоих
  4.      * направлениях). Если таких чисел больше одного, найти второе из них. Ограничения на
  5.      * размер числа нет. Одна цифра является палиндромом.
  6.      */
  7.     @Override
  8.     public void task8() {
  9.         Scanner scanner = new Scanner(System.in);
  10.         int n = Integer.parseInt(scanner.nextLine());
  11.         String[] words = scanner.nextLine().split(" ");
  12.  
  13.         ArrayList<Integer> numbers = new ArrayList<>();
  14.         for (String word : words) {
  15.             try {
  16.                 numbers.add(Integer.parseInt(word));
  17.             } catch (NumberFormatException ignored) {
  18.  
  19.             }
  20.         }
  21.  
  22.         ArrayList<Integer> polindroms = new ArrayList<>();
  23.         for (Object number : numbers) {
  24.             String s = number.toString();
  25.             String reverse = new StringBuilder(s).reverse().toString();
  26.  
  27.             if (s.equals(reverse)) {
  28.                 polindroms.add((Integer) number);
  29.             }
  30.         }
  31.  
  32.         if (!polindroms.isEmpty()) {
  33.             if (polindroms.size() > 1) {
  34.                 System.out.println(polindroms.get(1));
  35.             } else {
  36.                 System.out.println(polindroms.get(0));
  37.             }
  38.         } else {
  39.             System.out.println("NOT FOUND");
  40.         }
  41.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement