如何检查输入数组的用户是否是回文?

问题描述 投票:0回答:3

我需要帮助的人我一直在谷歌检查类似的问题,但我找不到最合适的答案。这是我的输出。

Enter 3 Elements  
23
Is a palindrome  
22
Is not a palindrome  
11
Is not a palindrome  

该程序:

public static void main(String [] args)
{
  int number = 0;
  int reverse =0;
  int numCopy = 0; 
  Scanner scan = new Scanner(System.in);
  System.out.println("Enter how many numbers you want to enter");
  int num = scan.nextInt();
  System.out.println("Enter "+num +" Elements");
  numCopy = num;          
  int[] array = new int[num];             
  for(int i = 0; i < num; i++)
  { 
    array[i] = scan.nextInt();
    int digit = numCopy % 10;
    numCopy = numCopy / 10;
    reverse = (reverse * 10) +digit;
    if(num == reverse)          
    {
      System.out.println("Is a palindrome");    
    }
    else
    {
        System.out.println("Is not a palindrome");
    }
  }
}
java arrays palindrome
3个回答
1
投票

根据定义,Palindrome是相同的前后,所以11将是和22将是。 23不会等。

快速简单的伪代码,用于检查Palindrome是否为STRING:

function isPalin(string str)
   if(str.length() == 0) {
     return true;
   }

   int end = str.length() - 1;
   int start = 0;
   while(start < end) {
     if(str[start++] != str[end--]) {
       return false;
     }
   }
   return true; 

如果你有数字只是将它转换为字符串然后使用该函数。


0
投票

例如,回文,我们需要考虑两种不同的情况:AA和ABA。这两个都是回文。所以对于整数,你需要确认它的长度是偶数还是奇数。然后从两边检查:开始,结束。

这应该得到正确的结果。


-1
投票

你应该有你的程序如下:

public static void main(String[] args)
{ 
      int number = 0;
      int reverse =0;
      int numCopy = 0;

      Scanner scan = new Scanner(System.in);
      System.out.println("Enter how many numbers you want to enter");
      int num = scan.nextInt();
      System.out.println("Enter "+num +" Elements");
      numCopy = num;

String[] array = new String[num];   

for(int i = 0; i < num; i++)
{ 

    array[i] = new Integer(scan.nextInt()).toString();
    String rev="";
for(int k=array[i].length()-1;k>=0;k--){
    rev +=array[i].charAt(k);
}
    if(array[i].equals(rev))

    { 
        System.out.println("Is a palindrome");

    } 
    else 
        System.out.println("Is not a palindrome");
} 



}
© www.soinside.com 2019 - 2024. All rights reserved.