我必须用两种方法创建一个代码,要求用户输入数字,并且程序应告知它是否是回文馆。

我的代码如下:

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方法中寻找初始化?或我的格式和/或逻辑有问题。

最佳答案

inversedNumbermain()中声明,在方法isPalidrome()中不能识别,因为它不在同一scope中。

您可以将其传递给方法,如下所示:

致电:isPalidrome(value, inversedNumber)

并将方法的签名更改为:

public static boolean isPalidrome(int number, int inversedNumber)

10-07 22:54