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

时间:2014-09-03 01:23:38

标签: java arrays palindrome

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

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");
    }
  }
}

3 个答案:

答案 0 :(得分:1)

根据定义,Palindrome的前后相同,因此11将是2223将是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; 。 {{1}}不会等等。

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

{{1}}

如果您有数字只是将其转换为字符串,请使用该函数。

答案 1 :(得分:0)

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

这应该得到正确的结果。

答案 2 :(得分:-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");
} 



}