需要Java递归主题的帮助吗

需要Java递归主题的帮助吗,java,arrays,recursion,Java,Arrays,Recursion,这是我第一次在这里提问,因为我已经在谷歌和Youtube上搜索了很多次,学习如何在Java中使用递归,但我仍然不明白什么是递归:你们能帮我吗 我正在处理一个机器问题,该问题将使用递归函数在数组中输入大于10的项数 这是我一直在处理的代码,我在第24行收到一个错误,上面说: 我的代码: import java.util.Scanner; public class Recursion { public static void main(String[]args) {

这是我第一次在这里提问,因为我已经在谷歌和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));
}
符号:变量输入编号


位置:类递归参见错误消息。您的问题是您在代码块内定义了inputNumbers变量,而在system.out语句外它不可用


它与递归无关。

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


阅读更多关于java的内容

我仍然不明白递归是什么-也许可以在维基百科上阅读?基本上,递归是指方法有时会调用自身来执行某些操作。或者想想俄罗斯娃娃。谢谢你的回答,科比和卡里姆·莫森!但是我有一个问题,我怎样才能在for循环中输入数字呢?我试图删除int inputNumbers=sc2.nextInt;和g1.SetInputNumber输入编号;这是我的递归程序:public int findCreatePrint result{ifinputNumbers<10{return result=0;}else return result=findCreateResult+1;}你们能至少告诉我出了什么问题吗因为我对递归一无所知,这对我来说真的很难。@JcOrdona函数中没有inputNumbers,函数只包含结果变量inputNumbers是从哪里得到的。我想你应该改变你的条件,如果输入的数字小于10,它与递归无关再次感谢你的回复karim mohsen!:我在函数中试图做的显然是失败的:就是逐个检查输入的数字,如果它们大于10,那么每次有大于10的数字时,结果将是加1。我认为输入数<10是基本情况:很抱歉我是个新手卡里姆·莫森爵士:我真的很感谢你对我的帮助!
             ^