我必须用两种方法创建一个代码,要求用户输入数字,并且程序应告知它是否是回文馆。
我的代码如下:
public static void main (String[] args)
{
Scanner scan = new Scanner(System.in);
System.out.println("Enter a value: ");
int value = scan.nextInt();
int inversedNumber = reverse(value);
System.out.println("Is value " +value+ " a palindrome?: " +isPalidrome(value));
}
public static int reverse(int number)
{
int reverse = 0;
while( number != 0 )
{
reverse = reverse * 10;
reverse = reverse + number%10;
number = number/10;
}
return reverse;
}
public static boolean isPalidrome(int number)
{
boolean palidrome;
if(inversedNumber == number)
palidrome = true;
else
palidrome = false;
return palidrome;
}
}
但是每次运行它时,都会不断出现错误,告诉我在方法
inversedNumber
中找不到isPalidrome
。但是它已经在main方法中初始化了。是否不应该在main方法中寻找初始化?或我的格式和/或逻辑有问题。 最佳答案
inversedNumber
在main()
中声明,在方法isPalidrome()
中不能识别,因为它不在同一scope中。
您可以将其传递给方法,如下所示:
致电:isPalidrome(value, inversedNumber)
并将方法的签名更改为:
public static boolean isPalidrome(int number, int inversedNumber)