Java 使用递归打印数字
如何使用递归打印Java 使用递归打印数字,java,recursion,printing,Java,Recursion,Printing,如何使用递归打印printConvertedNumber方法中第二个参数指定的数字基中的第一个参数 import java.util.Scanner; class NumberBaseConversion { public static void main(String[] args) { Scanner input = new Scanner(System.in); int number, base; do { Syst
printConvertedNumber
方法中第二个参数指定的数字基中的第一个参数
import java.util.Scanner;
class NumberBaseConversion
{
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
int number,
base;
do
{
System.out.print("Enter a positive base 10 number: ");
number = input.nextInt();
} while (number <= 0);
do
{
System.out.print("Enter a base (2, 4, or 8): ");
base = input.nextInt();
} while (base != 2 && base != 4 && base != 8);
printConvertedNumber(number, base);
System.out.println();
}
private static void printConvertedNumber(int num, int base)
{
// Where i need to use recursion
}
}
import java.util.Scanner;
类编号B安全版本
{
公共静态void main(字符串[]args)
{
扫描仪输入=新扫描仪(System.in);
整数,
基础
做
{
System.out.print(“输入一个正基10号:”);
number=input.nextInt();
}而(number我将向您展示一个伪调用流,它将为基数为10的号码执行此操作
printConvertedNumber(1234, 10)
printConvertedNumber(123, 10)
printConvertedNumber(12, 10)
printConvertedNumber(1, 10)
print(1)
print(2)
print(3)
print(4)
每个调用都可以选择进行递归调用,然后是一个print语句,该语句在给定的基中打印传入号码的最后一位
结果:1234
被打印出来了。问题是?如果没有递归,你会怎么做呢?首先找出获得正确数字的算法(把步骤写在纸上,用手在几个数字上试一下),然后应该很明显。我认为递归在这里不是一个好的选择。只需使用Integer.toString(x,base)
并取第一个数字。@TimBiegeleisen虽然是一个有效点,但这似乎不是本练习的目的。这当然可以通过一种相当简单的方式完成。对我来说,这似乎是学习递归(和算法)的练习,可能是一个家庭作业。