这是我的代码。我不明白为什么我会一直得到这个?

应该以递归方式将基数从10改为任何给定的基数。

任何帮助都是极好的。

 import java.util.Scanner;

 public class Recursion{

        public static void main(String[] args)
        {
                try {   System.out.println(" Please input the base you would like to convert into " );
                        Scanner BaseIn = new Scanner (System.in);
                        int base1 = BaseIn.nextInt();

                        System.out.println( "Now input the number you would like to convert" );
                        Scanner NumIn = new Scanner (System.in);
                        int number = NumIn.nextInt();

                        BaseConversion (number, base1);
                    }

                catch (Exception e)
                {
                System.out.print("somethigng stupid");
                }
        }

        public String BaseConversion(int num, int base)
        {
                if (num < base)
                {
                return new String ("" + num);
                }
                else
                {
                return BaseConversion (num/base, base) + new String("" + (num % base));
                }
        }

}

最佳答案

您不能从静态上下文进行非静态引用。
您上面的代码甚至都不会编译,因为您正试图从静态main方法调用非静态方法(BaseConversion)。

使BaseConversion方法static后,尝试运行代码。

建议:-一定要遵循编码约定,以使您的代码更有意义。.方法和变量名称始终遵循驼峰式大小写(以小写开头,随后的单词以大写字母开头)

07-26 09:39