Palindrome σε Java: Πώς να ελέγξετε το πρόγραμμα Palindrome;

Palindrome σε Java: Πώς να ελέγξετε το πρόγραμμα Palindrome;

November 20, 2022 0 Von admin

Ένα παλίνδρομο είναι μια φράση, λέξη, αριθμός ή ακολουθία χαρακτήρων που διαβάζει το ίδιο προς τα πίσω και προς τα εμπρός. Αυτό το ιστολόγιο μιλάει για το πώς να ελέγξετε για παλίνδρομο σε Java με τη βοήθεια ενός προγράμματος. Πριν μάθουμε για το παλίνδρομο στην Java, θα κατανοήσουμε την έννοια του παλίνδρομου.

Ας αρχίσουμε!

  1. Τι είναι το Palindrome;
  2. Τι είναι ο αριθμός Palindrome;
  3. Τι είναι μια συμβολοσειρά Palindrome;
  4. Τι είναι η φράση Palindrome;
  5. Πρόγραμμα Palindrome σε Java χρησιμοποιώντας βρόχους while
  6. Πρόγραμμα Palindrome σε Java χρησιμοποιώντας βρόχους for
  7. Πρόγραμμα Palindrome σε Java με χρήση αναδρομής
  8. Πρόγραμμα Palindrome σε Java χρησιμοποιώντας τη μέθοδο βιβλιοθήκης
  9. συμπέρασμα
  10. Συχνές Ερωτήσεις

Τι είναι το Palindrome;

Το παλίνδρομο είναι μια λέξη ή φράση που γράφεται το ίδιο ακόμη και προς τα πίσω (αγνοώντας τα κενά, τα σημεία στίξης και τα κεφαλαία).

Ένας αριθμός Palindrome είναι ένας αριθμός που παραμένει ο ίδιος ακόμα και μετά την αντιστροφή, π.χ. .161,24542,848, 38983. Είναι επίσης μια συμβολοσειρά ή ακολουθία χαρακτήρων, δηλαδή, έχει την ίδια ακολουθία γραμμάτων κατά την ανάγνωση κατευθύνσεων προς τα εμπρός και προς τα πίσω .

Παράδειγμα:

Τι είναι ο αριθμός Palindrome;

Ένας παλίνδρομος αριθμός είναι ένας αριθμός που παραμένει ίδιος όταν τα ψηφία του αντιστρέφονται. Π.χ.: 15451, για παράδειγμα: Αν πάρουμε το 131 και το αντιστρέψουμε, τότε μετά την αντιστροφή, ο αριθμός παραμένει ο ίδιος.

Βήματα για το πρόγραμμα αριθμών Palindrome

  • Εισαγάγετε τον αριθμό από τον χρήστη.
  • Στη συνέχεια, αντιστρέψτε το.
  • Συγκρίνετε τον αριθμό με τον αριθμό που εισήγαγε ο χρήστης.
  • Εάν και οι δύο αριθμοί είναι ίδιοι, τότε εκτυπώστε τον αριθμό ως παλίνδρομο
  • Αλλιώς εκτύπωση, όχι παλίνδρομο.

Πρόγραμμα Palindrome Number σε Java

import java.util.Scanner;
 class expalindrome 
{
public static void main(String args[]) 
{
int x,number, y=0,temp=0;
Scanner s=new Scanner(System.in);
System.out.println("Enter any number: ");
number=s.nextInt();
x=number;
while(number>0)
{
x=number%10;
number=number/10;
temp=temp*10+x;
}
if(temp==y)
{
System.out.println("Number is Palindrome");
}
else
{
System.out.println("not Palindrome");
}
}
}

Παραγωγή:

Εισαγάγετε οποιονδήποτε αριθμό:

161

Ο αριθμός είναι Palindrome

Μάθετε περισσότερα για τον προγραμματισμό palindrome με τη βοήθεια αυτών των ερωτήσεων συνέντευξης Java.

Τι είναι μια χορδή Palindrome;

Μια συμβολοσειρά Palindrome είναι μια συμβολοσειρά που παραμένει ίδια όταν διαβάζεται με κατεύθυνση προς τα εμπρός ή προς τα πίσω.

Πρόγραμμα Java για να βρείτε αν μια συμβολοσειρά είναι παλίνδρομο

public class Palindrome
{
    public static void main(String args[])
    {
        String x, y = "";
       Scanner a = new Scanner(System.in);
      System.out.print("Enter  string you want to check:");
     x = a.nextLine();
        int l = x.length();
       for(int k = l - 1; k >= 0; k--)
     {
          y = y + x.charAt(k);
      }
      if(x.equalsIgnoreCase(y))
        {
            System.out.println("The string is palindrome.");
        }
        else
        {
            System. out.println("The string is not a palindrome.");
        }
    }
}

Παραγωγή:

Εισαγάγετε τη συμβολοσειρά που θέλετε να ελέγξετε:

NeveroddorEven

Η χορδή είναι παλίνδρομος.

Τι είναι η φράση Palindrome;

Το Palindrome μπορεί να αποτελείται από μια πρόταση ή μια φράση. Παράδειγμα: Ο κύριος Κέιτ έφαγε το ασημένιο σκουλήκι μου», «Βλέπει ο Γιάννης τον Θεό;» . Τα σημεία στίξης, τα κεφαλαία γράμματα και τα κενά συνήθως αγνοούνται για Π.χ.: «Οι γάτες δεν ζουν σε κανένα κακό αστέρι» και «Βήματα σε καμία γάτα» περιλαμβάνουν τα κενά.

Πρόγραμμα Java για να βρείτε αν μια πρόταση είναι παλίνδρομο

public class GFG 
{ 
    // To check sentence is palindrome or not 
    static boolean sentencePalindrome(String str) 
    {     
        int j = 0; 
        int i = str.length()-1; 
          
        // Lowercase string 
        str = str.toLowerCase(); 
          
        // Compares character until they are equal 
        while(j <= i) 
        { 
              
            char getAtj = str.charAt(j); 
            char getAti = str.charAt(i); 
              
            // If there is another symbol in left 
            // of sentence 
            if (!(getAtj >= 'a' && getAtj <= 'z')) 
                j++; 
              
            // If there is another symbol in right  
            // of sentence 
            else if(!(getAti >= 'a' && getAti <= 'z')) 
                i--; 
              
            // If characters are equal 
            else if( getAtj == getAti) 
            { 
                j++; 
                i--; 
            } 
              
            // If characters are not equal then 
            // sentence is not palindrome 
            else 
                return false; 
        } 
          
        // Returns true if sentence is palindrome 
        return true;     
    } 
      
    // Driver program to test sentencePallindrome() 
    public static void main(String[] args)  
    { 
        String str = "Too hot to hoot."; 
        if( sentencePalindrome(str)) 
          System.out.println("Sentence is palindrome"); 
        else
          System.out.println("Sentence is not" + " " + 
                                         "palindrome"); 
    } 
}

Προαπαιτούμενα:

  1. Κατηγορία σαρωτή (για λήψη εισόδου χρήστη)
  2. Αναδρομή
  3. Για βρόχο
  4. Ενώ βρόχος
  5. Αν – αλλιώς δηλώσεις

Πρόγραμμα Palindrome σε Java με χρήση βρόχων while (ακέραιος)

Algorithm

  1. ΑΡΧΗ
  2. Λάβετε δεδομένα από τον χρήστη ή αρχικοποιήστε τα με μη αυτόματο τρόπο (αριθμός).
  3. Αποθηκεύστε την είσοδο σε μια νέα μεταβλητή (στοιχείο).
  4. Μέχρι το num να μην είναι ίσο με το μηδέν, βρείτε το υπόλοιπο του num και αποθηκεύστε το σε μια μεταβλητή (αντίστροφη).
  5. Διαιρέστε τον αριθμό με το δέκα και επαναλάβετε το βήμα 3 χρησιμοποιώντας ένα βρόχο while.
  6. Ελέγξτε αν το στοιχείο είναι ίσο με το αντίστροφο.
  7. Αν είναι ίσο,
    1. Εκτυπώστε είναι παλίνδρομο
    2. Αλλιώς τύπωμα, δεν είναι παλίνδρομο.
  8. ΤΕΛΟΣ

Απόσπασμα κώδικα

import java.util.*;
class Main {
  public static void main(String[] args) {
    Scanner inp= new Scanner(System.in);
    System.out.print("Enter the number: ");
    int num= inp.nextInt();
 
    int reverse=0, element, remainder; 
    element = num;
 
    while(num!=0){
      remainder= num % 10;
      reverse = (reverse * 10) + remainder;
      num = num / 10;
    }
 
    if (element == reverse){
      System.out.println("Yes, it is palindrome");
    }
    else{
      System.out.println("No, it is not palindrome");
    }
  }
}

Συμπέρασμα: Εδώ, ένας βρόχος „while“ χρησιμοποιείται για τον επαναληπτικό έλεγχο των ψηφίων στην είσοδο μέχρι να μηδενιστεί. Μέσα στον βρόχο while, λαμβάνεται το μέτρο του αριθμού. Στη συνέχεια αποθηκεύεται σε μια μεταβλητή αντίστροφη για κάθε επανάληψη για να ληφθεί το ακριβές αντίστροφο της εισόδου. Τέλος, η αντίστροφη λέξη συγκρίνεται με τον αρχικό αριθμό για να συμπεράνουμε αν πρόκειται για παλίνδρομο ή όχι.

Εξήγηση:

Για παράδειγμα, num = 252

Υπενθύμιση=αριθμός%10 252 % 10 = 2 25 % 10 = 5 2 % 10 = 2
αντίστροφη = (αντίστροφη * 10) + υπόλοιπο (0 * 10) + 2 = 2 (2 * 10) + 5 = 25 (25 * 10) + 2 = 252
num = αριθμός / 10 252 / 10 = 25 25 /10 = 2 2 / 10 = 0
αριθμός!=0 25! = 0 [continue] 2! = 0 [continue] 0 = 0 [stop]

Επομένως, το reverse και το num είναι τελικά ίσα, πράγμα που μας αποδεικνύει ότι είναι παλίνδρομο.

Το πρόγραμμα palindrome σε Java με χρήση Βρόχος FOR (ακέραιος)

Algorithm

  1. ΑΡΧΗ
  2. Λάβετε δεδομένα από τον χρήστη ή αρχικοποιήστε τα με μη αυτόματο τρόπο (αριθμός).
  3. Αποθηκεύστε την είσοδο σε μια νέα μεταβλητή (στοιχείο).
  4. Μέχρι το num να μην είναι ίσο με το μηδέν, βρείτε το υπόλοιπο του num και αποθηκεύστε το σε μια μεταβλητή (αντίστροφη).
  5. Διαιρέστε τον αριθμό με το δέκα και επαναλάβετε το βήμα 3 χρησιμοποιώντας έναν βρόχο FOR.
  6. Ελέγξτε αν το στοιχείο είναι ίσο με το αντίστροφο.
  7. Αν είναι ίσοι,
    1. Εκτυπώστε είναι παλίνδρομο
    2. Αλλιώς τύπωμα, δεν είναι παλίνδρομο.
  8. ΤΕΛΟΣ

Απόσπασμα κώδικα

import java.util.*;
class Main {
  public static void main(String[] args) {
    Scanner inp= new Scanner(System.in);
    System.out.print("Enter the number: ");
    int num= inp.nextInt();
 
    int reverse=0, element, remainder; 
    element = num;
 
    for( ;num!=0;num/=10){
      remainder= num % 10;
      reverse = (reverse * 10) + remainder;
    }
 
    if (element == reverse){
      System.out.println("Yes, it is palindrome");
    }
    else{
      System.out.println("No, it is not palindrome");
    }
  }
}

Συμπέρασμα: Εδώ, ένας βρόχος for χρησιμοποιείται για να ελέγξει επαναληπτικά εάν τα ψηφία στην είσοδο μέχρι να μηδενιστεί. Ο συντελεστής του αριθμού λαμβάνεται μέσα στον βρόχο FOR και αποθηκεύεται σε μια μεταβλητή αντίστροφη για κάθε επανάληψη. Αυτό γίνεται για να ληφθεί το ακριβές αντίστροφο της εισόδου. Τέλος, η αντίστροφη λέξη συγκρίνεται με τον αρχικό αριθμό για να συμπεράνουμε αν πρόκειται για παλίνδρομο ή όχι.

ΕΞΗΓΗΣΗ:

Για παράδειγμα, num = 2002

Υπενθύμιση=αριθμός%10 2002 % 10 = 2 200 % 10 = 0 20 % 10 = 0 2 % 10 = 2
αντίστροφη = (αντίστροφη * 10) + υπόλοιπο (0 * 10) + 2 = 2 (2 * 10) + 0 = 20 (20 * 10) + 0 = 200 (200 * 10) + 2 =2002
num = αριθμός / 10 2002 / 10 = 200 200 /10 = 20 20 / 10 = 2 2 / 10 = 0
αριθμός!=0 200! = 0 [continue] 20! = 0 [continue] 2! = 0 [continue] 0 = 0 [stop]

Επομένως, το reverse και το num είναι τελικά ίσα, πράγμα που μας αποδεικνύει ότι είναι παλίνδρομο.

Το πρόγραμμα palindrome σε Java με χρήση αναδρομή (με συμβολοσειρές)

Algorithm

  1. ΑΡΧΗ
  2. Λάβετε δεδομένα από το χρήστη ή αρχικοποιήστε τα με μη αυτόματο τρόπο (string).
  3. Ελέγξτε εάν το μήκος είναι ίσο με μηδέν ή ένα
    1. Εκτυπώστε είναι παλίνδρομο
  4. Ελέγξτε κάθε χαρακτήρα σε υποσυμβολοσειρά από μπροστά και πίσω. αν βρεθεί, ίσο
    1. Εκτυπώστε είναι παλίνδρομο
  5. Εάν τα βήματα 3 και 4 αποτύχουν
    1. Εκτυπώστε δεν είναι Palindrome
  6. ΤΕΛΟΣ

Απόσπασμα κώδικα

import java.util.*;
class Main{
  public static boolean Palindrome(String a){
    if(a.length() == 0 || a.length() == 1){
      return true;
    } 
    if(a.charAt(0) == a.charAt(a.length()-1)){
      return Palindrome(a.substring(1, a.length()-1));
    }
      return false;
  }
 
  public static void main(String[]args){
    Scanner inp = new Scanner(System.in);
    System.out.print("Enter the string: ");
    String string = inp.nextLine();
    if(Palindrome(string)){
      System.out.println(string + " is a palindrome");
    }
    else{
      System.out.println(string + " is not a palindrome");
    }        
  }
}

Συμπέρασμα: Εδώ, η συμβολοσειρά ελέγχεται αναδρομικά εάν τα γράμματα στην είσοδο έχουν ίσο μήκος. Είναι μια χορδή παλίνδρομου αν δεν έχει γράμματα ή μόνο ένα γράμμα. Εάν είναι περισσότερα από ένα γράμματα, τότε ελέγχεται κάθε χαρακτήρας της υποσυμβολοσειράς. Εάν οι λέξεις βρεθούν ίσες, τότε η λέξη επιβεβαιώνεται ότι είναι παλίνδρομο.

ΕΞΗΓΗΣΗ:

Για παράδειγμα, string = „μαλαγιαλάμ“

1. Εάν η συμβολοσειρά είναι κενή ή έχει μόνο ένα γράμμα ΠΑΛΙΝΔΡΟΜΟΣ
2. Διαφορετικά αν πρώτο γράμμα == τελευταίο γράμμα (m == m) ΠΑΛΙΝΔΡΟΜΟΣ
Αύξηση από το πρώτο γράμμα και μείωση από το τελευταίο γράμμα, επαναλάβετε το βήμα 2
3. Αλλού ΟΧΙ ΠΑΛΙΝΔΡΟΜΟΣ

Το πρόγραμμα palindrome σε Java με χρήση Μέθοδοι βιβλιοθήκης (συμβολοσειρές)

Algorithm

  1. ΑΡΧΗ
  2. Χρησιμοποιώντας τη συνάρτηση αντιστροφής συμβολοσειράς, ανακαλύψτε το πίσω μέρος της συμβολοσειράς.
  3. Συγκρίνετε το με την αρχική συμβολοσειρά.
  4. Αν και οι δύο χορδές είναι ίδιες,

4.1 Εκτύπωση είναι παλίνδρομο

  1. Αλλού
    1. Εκτυπώστε δεν είναι παλίνδρομο
  2. ΤΕΛΟΣ

Απόσπασμα κώδικα

import java.util.*;
class Main{
  public static void Palindrome(String s){
    String reverse = new StringBuffer(s).reverse().toString();
    if (s.equals(reverse)){
      System.out.println("Yes, it is a palindrome");
    }
    else{
      System.out.println("No, it is not a palindrome");
    }
}
 
public static void main (String[] args){
  Palindrome("erre");
}
}

Συμπέρασμα: Εδώ, μια μέθοδος βιβλιοθήκης „αντίστροφη συμβολοσειράς“ χρησιμοποιείται πρώτα για την αντιστροφή της συμβολοσειράς. Στη συνέχεια, η αντίστροφη συμβολοσειρά και οι αρχικές χορδές συγκρίνονται για να ελεγχθεί αν είναι παλίνδρομες ή όχι.

ΕΞΗΓΗΣΗ:

Για παράδειγμα, string = „ERRE“

Σειρά ΓΙΑ ΤΟ ΘΕΜΑ ΑΥΤΟ
ΧΡΗΣΙΜΟΠΟΙΕΙΤΑΙ Η ΜΕΘΟΔΟΣ ΒΙΒΛΙΟΘΗΚΗΣ „.toString“.
ΑΝΤΙΣΤΡΟΦΗ ΓΙΑ ΤΟ ΘΕΜΑ ΑΥΤΟ
Συμβολοσειρά == Αντίστροφη Παλίνδρομο
Χορδή != Αντίστροφη Όχι Παλίνδρομο

Τυλίγοντας

Αυτό μας φέρνει στο τέλος του ιστολογίου για το Palindrome στην Java. Ελπίζουμε ότι αυτό θα σας βοηθήσει να βελτιώσετε τις δεξιότητές σας στην Java. Δείτε αυτό το πλήρες σεμινάριο για την Java για να γίνετε ειδικός στον προγραμματισμό Java.

Για να μάθετε περισσότερα σχετικά με τον προγραμματισμό και άλλες σχετικές έννοιες, ρίξτε μια ματιά στα μαθήματα στο Great Learning Academy.

Συχνές Ερωτήσεις

Ποια είναι η λογική του παλινδρόμου;

Η λογική ενός παλίνδρομου είναι απλή, όπου αν πάρουμε έναν αριθμό και τον αντιστρέψουμε, παραμένει ο ίδιος με τον αρχικό αριθμό. Για παράδειγμα, το 10101 είναι ένας παλίνδρομος αριθμός καθώς θα παραμείνει ο ίδιος ακόμα κι αν τον αντιστρέψουμε.

Τι είναι ένα παράδειγμα συμβολοσειράς παλίνδρομου;

Μια χορδή είναι γνωστό ότι είναι παλίνδρομο όταν το πίσω μέρος της είναι το ίδιο με το αρχικό. Για παράδειγμα, το „bob“ είναι ένα παλίνδρομο καθώς το πίσω μέρος του θα είναι επίσης „bob“.

Πώς ελέγχετε εάν μια δεδομένη συμβολοσειρά είναι παλίνδρομο ή όχι;

Για να ελέγξουμε αν μια συμβολοσειρά είναι παλίνδρομο ή όχι, μπορούμε να χρησιμοποιήσουμε τη συνάρτηση isPalindrome(). Εισάγουμε την επιθυμητή συμβολοσειρά ως όρισμα και αν η συνάρτηση επιστρέψει true, τότε η συμβολοσειρά είναι ένα παλίνδρομο. αν επιστρέψει false, δεν είναι παλίνδρομο.

Ποια είναι η μεγαλύτερη παλίνδρομη λέξη;

Η μεγαλύτερη παλινδρομική λέξη είναι η φινλανδική λέξη «saippuakivikauppias» που περιέχει 19 γράμματα και τυπικά σημαίνει «έμπορος αλισίβας».