Бұл нұсқаулықта берілген жолдың палиндром болып табылмайтындығын тексеру үшін бағдарламаларды көреміз. Одан кейінгі жолдар.
1) Stack пайдалану
2) Кезек қолдану
3) for / while циклін пайдалану
Бағдарлама 1: Палиндрды тексеру Stack пайдалану
java.util.Stack импорттау; import java.util.Scanner; класс PalindromeTest { public static void main (String [] арг) { System.out.print («Кез келген жолды енгізіңіз:»); Сканер in = жаңа сканер (System.in); String inputString = in.nextLine (); Стек стек = жаңа Stack (); for (int i = 0; i <inputString.length (); i ++) { stack.push (inputString.charAt (i)); } String reverseString = «»; (! stack.isEmpty ()) { reverseString = reverseString + stack.pop (); } егер (inputString.equals (reverseString)) System.out.println («кіріс жолы - палиндром.»); басқа System.out.println («кіріс жолы - палиндром емес.»); } }
1-нәтиже:
Кез келген жолды енгізіңіз: abccba Енгізу жолы - палиндром.
2-нәтиже:
Кез келген жолды енгізіңіз: abcdef Енгізу жолы - палиндром емес.
Бағдарлама 2: Полудинром тексеру кезегін пайдалану
import java.util.Queue; import java.util.Scanner; import java.util.LinkedList; класс PalindromeTest { public static void main (String [] арг) { System.out.print («Кез келген жолды енгізіңіз:»); Сканер in = жаңа сканер (System.in); String inputString = in.nextLine (); Кезек кезегі = жаңа LinkedList (); for (int i = inputString.length () - 1; i> = 0, i--) { queue.add (inputString.charAt (i)); } String reverseString = «»; (! queue.isEmpty ()) { reverseString = reverseString + queue.remove (); } егер (inputString.equals (reverseString)) System.out.println («кіріс жолы - палиндром.»); басқа System.out.println («кіріс жолы - палиндром емес.»); } }
1-нәтиже:
Кез келген жолды енгізіңіз: xyzzyx xyzzyx Енгізу жолы - палиндром.
2-нәтиже:
Кез келген жолды енгізіңіз: xyz Енгізу жолы - палиндром емес.
Бағдарлама 3: цикл үшін пайдалану / Loop және String функциясы charAt
import java.util.Scanner; класс PalindromeTest {public static void main (String args []){ String reverseString = «»; Сканердің сканері = жаңа сканер (System.in); System.out.println («Палиндром болып табылатынын тексеру үшін жолды енгізіңіз»); String inputString = scanner.nextLine (); int length = inputString.length (); (int i = ұзындығы - 1; i> = 0, i--) reverseString = reverseString + inputString.charAt (i); егер (inputString.equals (reverseString)) System.out.println («Кіру жолы - палиндром.»); басқа System.out.println («Кіру жолы - палиндром емес.»);} }
1-нәтиже:
Палиндром екендігін тексеру үшін жолды енгізіңіз: aabbaa Енгізу жолы - палиндром.
2-нәтиже:
Палиндром екендігін тексеру үшін жолды енгізіңіз: aaabbb Кіріс жолы палиндром емес.
Егер жоғарыдағы бағдарламада While ілмегін қолданғыңыз келсе, осы кодымен циклды ауыстырыңыз:
int i = ұзындығы-1; ал (i> = 0) { reverseString = reverseString + inputString.charAt (i); i--; }
Бұл пайдалы, бірақ сіз шынымен push әдісін пайдалана алмайсыз. Сіз оны java.> stack.push (жаңа таңба (inputString.charAt (i)));