在Java递归主题

时间:2015-08-30 12:03:21

标签: java arrays recursion

这是我第一次在这里提问,因为我在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

2 个答案:

答案 0 :(得分:3)

请参阅错误消息。您的问题是您在代码块中定义了inputNumbers变量,并且它在system.out语句中不可用。

它与递归无关。

答案 1 :(得分:1)

在循环内创建的任何变量都是 LOCAL TO LOOP 。这意味着一旦退出循环,就无法再访问该变量!这包括在循环签名中创建的任何变量。

详细了解java中的Question