Проверьте, является ли число или строка палиндромом в Java

Как проверить, является ли число или строка палиндромом или нет - популярный вопрос. Число является палиндромом, если его обратная величина остается такой же, как 404. С другой стороны, число 412 не является палиндромом, потому что его обратным числом является число 214. Чтобы проверить, является ли число или строка палиндромом, мы должны сначала задать вопрос, как инвертировать число или строку в Java? Эту проблему можно решить с помощью API или используя только основы программирования, такие как циклы, условия, переменные и логические операторы. Рекомендуется программировать самостоятельно, потому что эта простая задача вполне может показать реального программиста, который умеет кодировать, и другого, который получает все на dish.

рекурсивный и итеративный палиндром в Java

Проверяет, является ли целое число палиндромом

Это Java-программа, которая проверяет, является ли число палиндромом или нет. Эта программа не использует никаких API, однако она использует деление и деление по модулю для проверки того, является ли целое число палиндромом или нет. Эта проверка инкапсулирована в методе reverse() и estPalinsrome(int number).

public class Palindrome {

public static void main(String args[]){

int[] numbers = {0, 2, 113, 11, 1443, 1441, 1654, 19891};

for(int number: numbers){
System.out.println(number +" является палиндромом? "
+ estPalindrome(число));
}
}

private static boolean isPalindrome(int number) {
if(number == inverse(number)){
return true;
}
возвращает false;
}

private static int inverse(int number){
int inverse = 0;
while(number != 0){
inverse = inverse*10 + number%10;
number = number/10;
}
обратный возврат;
}
}
Запуск этой программы дает следующий результат:

0 является палиндромом? true
2 является палиндромом? true
113 является палиндромом? false
11 является палиндромом? true
1443 является палиндромом? false
1441 является палиндромом? true
1654 является палиндромом? false
19891 является палиндромом? true
Эта Java-программа принимает массив целых чисел и проверяет, является ли число палиндромом или нет.

Проверяет, является ли строка палиндромом

Строка называется палиндромом, если она равна своей инверсии, Например, «радар» — это палиндром, его обратным остается «радар». Другие примеры, такие как: "ababa", "she", "anna".

Iterative palindrome

import java.util.Scanner; 

public class Palindrome_string {

public static void main(String args[])
{
Строковое слово, mot_inverse = "";
Сканер в = новый Сканер(System.in);

System.out.println("Введите слово ");
word = in.nextLine();

if (pal(mot))
System.out.println("'"+mot + "' является палиндромом");
else
System.out.println("'"+word + "' не является палиндромом");
}

public static boolean pal(String mot){
int i=0, length=word.length()-1;
boolean equal=true;
/*тестируем первый символ с последним
*и если они равны, программа продолжается
*для раскрутки цикла while и test
*следующий символ(i+1 с длиной-(i+1))
*пока i не будет равно length/2,
*, в противном случае равное логическое значение получает false
*так, Функция PAL возвращает false
*/
while(i< Длина/2 & & равно){
if(charAt.word(i)==charAt.word(i))
равно = true;
else
равно = false;
i++;
}
равное возвращение;
}
}
Result:

Введите слово 
rotor
'rotor' is a palindrome

recursive palindrome

public class Palindrome_recursive {

public static void main(String[] args) {
String[] strings = {"здесь", "слух", "Лейла",
"lol", "hi", "no"};

for(String string: strings){
if(estPalindrome(string))
System.out.println("'"+string + "'' - это палиндром");
else
System.out.println("'"+string + "' не является палиндромом");
}
}

public static boolean isPalindrome(String s)
{
//если длина 0 или 1
//то это палиндром
if(s.length() == 0 || s.length() == 1)
true;
if(s.charAt(0) == s.charAt(s.charAt(s.length()-1))
/*
* проверка, если первый и последний символ
* одинаковы, затем повторяем ту же обработку
* с подстрокой с первым и
* последним символом до тех пор, пока не дойдете до
* first condition
*/
return isPalindrome(s.substring(1, s.length()-1));

/*
* если условие if ложно, то возвращает
* false
*/
возвращает false;
}
}
Result:

'here' - это палиндром
'слух' не является палиндромом
'Лейла' не является палиндромом
'lol' является палиндромом
'hi' не является палиндромом
'нет' является палиндромом
Both Если коды чувствительны к регистру и в верхнем регистре, вы можете изменить их, чтобы игнорировать верхний регистр, преобразовав обе строки в нижний или верхний регистр,

Как уже было сказано, хороший программист должен всегда  потренируйтесь в упражнениях, которые кажутся легкими, особенно начинающим программистам на Java, которые только начали изучать программирование на Java.

References:
Список французских палиндромов
Stackoverflow: Проверка строки на наличие palindrome
Java-программа для проверки palindrome