java - 尝试使用整数数组解决回文

标签 java arrays palindrome

我正在编写一个程序,可以帮助我确定输入的数字是否是回文,但我正在使用数组尝试它。我想知道这是否可能?如果可能的话我做错了什么。

我已经标记了我认为问题所在的代码,但请随意提出任何建议。!!!!

谢谢!!!

import java.util.Scanner;


public class palindrome
{
 public static void main(String args[])
 {
    int size = 10,i,j,flag=0;
    int num[] = new int[size];

    Scanner sc = new Scanner(System.in);
        System.out.println("Enter the size of the number ");
            size = sc.nextInt();
            System.out.println("Enter the number ");
    for(i=0;i<size;i++)
    {
        num[i]=sc.nextInt();
    }
    i=size-1;
    for(j=0;j<(size/2);j++,i--)
    {
        if(i>(size/2))
        {
                        if(num[i]==num[j])   
            {
                flag = 1;
            }
        }
    }
    if(flag==1)
    {
        System.out.println("The number is a palindrome");

    }
    else
        System.out.println("The number is not a palindrome ");
 }
} 

编辑:伙计们,问题实际上已经解决了,因为我犯了一个错误,即我要求用户以 arry 的形式输入数字,但我实际上并没有一一输入数字中的数字,而是我在第一次迭代中输入整数。

不过还是非常感谢大家的回复。我仍然会尝试你的想法并让你们知道。谢谢

:)

最佳答案

尝试

public boolean isPalindrome(int[] num){
    for(int i = 0 ; i < num.length/2 ; i++) {
        if(num[i]!=num[num.length-(i+1)]) return false;
    }
    return true;
}

关于java - 尝试使用整数数组解决回文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28987706/

相关文章:

java - 如何让数组中的所有卡片都显示出来?

c# - Array.GetLength() 和 Array.Length 有什么区别?

java - 在 for 循环中实例化数组以创建 JTextFields

java - 如何优化我糟糕的代码以找到 3 位数字的最高回文数?

c++ - [leetcode 5]我无法找到最长回文子串问题的解决方案中的问题

java - Windows或Linux如何解决文件重命名/移动/复制

java - JSON:使 Jackson 仅序列化为对象显式设置的字段

Java程序反转一个数字并判断它是否是回文

java - 从集合中删除项目 <?扩展 MyObject> UnsupportedOperationException

java - 为什么 Thread 类不是最终的?你为什么要扩展一个线程?