递归的用法

问题:将一个数字字符串转换成逗号分隔的数字串,即从右边开始每三个数字用逗号分隔。

import java.util.Scanner;

public class Test {

    public static void main(String[] args) {

        //创建扫描器对象
        Scanner input = new Scanner(System.in);
        System.out.println("请输入一段数字:");
        //定义输入框
        String number = input.next();
        //创建StringBuffer类对象
        StringBuffer sb = new StringBuffer(number);
        //调用getNumber函数并输出结果
        System.out.println(getNumber(number));
        //运用递减循环和StringBuffer类的插入字符函数insert函数求解
        /*for(int i = number.length() - 3;i >= 0;i-= 3){
            sb.insert(i,",");
        }
        System.out.println(sb);*/
    }

    
    //定义静态getNumber函数
    public static String getNumber(String str){
        //设置递归条件
        if(str.length() >3){
            //递归
           return getNumber(str.substring(0,str.length()-3)) + ","+ str.substring(str.length()-3);
        }
        //返回递归结果
        return str;
    }
}

1.运行画面:

2.输入画面:

3.输出结果: 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值