我有一个我应该写的简单程序。在三种方法中,我需要读取整数,反转它们,并确定它们是否是回文。由于某些原因,这些数字总是回归,而不是回文,即使它们显然也是如此。
这是我的代码:
import java.io.*;
import java.util.*;
import java.lang.*;
public class main
{
public static boolean isPal;
public static void main(String[] args)
throws FileNotFoundException, IOException
{
int num;
int ctr = 0;
Scanner input = new Scanner(new File("data4.txt"));
num = input.nextInt();
while(num != -999)
{
ctr++;
reverse(num);
isPalindrome(isPal, num);
if(isPal == true)
{
System.out.println (num + " is a palindrome");
}
else
{
System.out.println(num + " is not a palindrome");
}
num = input.nextInt();
}
System.out.println(ctr + " numbers were processed.");
System.out.println("End of Program");
}
public static int reverse(int num)
{
int dig;
int rnum = 0;
while(num != 0)
{
dig = num % 10;
num = num / 10;
rnum = rnum * 10 + dig;
}
return rnum;
}
public static boolean isPalindrome(boolean isPal,int num)
{
if(num == rnum)
{
isPal = true;
}
else
{
isPal = false;
}
return isPal;
}
}
,输入为
3579 6336 5115 -999
答案 0 :(得分:0)
您的rnum
函数中有两个名为reverse()
的变量,一个类的成员和另一个本地变量。解决了这个问题。