这是我第一次在这里提问,因为我在Google和Youtube上搜索了很多次以学习如何在Java中使用递归但我仍然无法理解递归是什么:(请问你们好吗?帮帮我?
我正在处理一个机器问题,它会使用递归函数输入数组中大于10的项目数。
这是我一直在处理的代码,我在第24行收到错误说:
我的代码:
import java.util.Scanner;
public class Recursion
{
public static void main(String[]args)
{
Scanner sc = new Scanner(System.in);
Greater g1 = new Greater();
System.out.println("Enter number of items [1-10]: ");
int number = sc.nextInt();
g1.setNumber(number);
for(int counter = 1; counter <= number; counter++)
{
System.out.println("Enter number " + counter + ":" );
Scanner sc2 = new Scanner(System.in);
int inputNumbers = sc2.nextInt();
g1.setInputNumbers(inputNumbers);
}
System.out.println("The numbers greater than 10 are: " + g1.findGreater(inputNumbers));
}
}
这是错误:
&#34;错误:找不到符号
System.out.println(&#34;大于10的数字是:&#34; +
g1.findGreater(inputNumbers));&#34;
^
symbol:variable inputNumbers
location:class Recursion
答案 0 :(得分:3)
请参阅错误消息。您的问题是您在代码块中定义了inputNumbers变量,并且它在system.out语句中不可用。
它与递归无关。
答案 1 :(得分:1)
在循环内创建的任何变量都是 LOCAL TO LOOP 。这意味着一旦退出循环,就无法再访问该变量!这包括在循环签名中创建的任何变量。
详细了解java中的Question