[ad_1]
import java.util.*; class Recursion { public static int fib(int n) { if (n <= 1) return n; return fib(n - 1) + fib(n - 2); } public static String reverse(String s) { if ((s==null)||(s.length() <= 1)){ return s; } return reverse(s.substring(1)) + s.charAt(0); } public static boolean isPalindrome (String s) { if(s.length()==0 || s.length()==1) return true; if(s.charAt(0)==s.charAt(s.length()-1)) return isPalindrome(s.substring(1,s.length()-1)); return false; } } public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("Enter a value for n: ") int n = sc.nextInt(); System.out.println("The n^th Fibonacci number is: "); System.out.println(fib(n)); } } What I have tried: I'm not sure what's wrong but when I try to run my code it says Main.java:30: error: cannot find symbol System.out.println(fib(n)); ^ symbol: method fib(int) location: class Main 1 error I'm a little confused as to why the variable isn't found although my method is declared. Please help!
解決策 1
モジュールには 2 つの別個のクラスがあります。 Recursion
、 を含む fib
、 と Main
を含む main
方法。 次に、電話をかけようとします fib
のメンバーであるかのように Main
クラスではありません。 の静的メソッドです。 Recursion
クラス。 したがって、あなたの呼び出しを変更する必要があります main
方法:
Java
System.out.println(Recursion.fib(n));
同じことをする必要があります reverse
と isPalindrome
.
[ad_2]
コメント