Java递归调用如何实现数字的逆序输出方式

 更新时间:2023年04月12日 09:33:39   作者:后来的老李  
这篇文章主要介绍了Java递归调用如何实现数字的逆序输出方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

java递归调用实现数字的逆序输出

输入一串数字,将数字逆序输出出来,如:12,运行结果为21;首先不管怎样,我们都要先得到十位上的数字和个位上的数字,十位上的数字,就是用12/10;个位上的数字就是得到他的余数即12%10;然后用字符串将它们加起来,递归调用就是不断调用自身的方法实现他

代码如下:

package com.kaifamiao.day1117;
 
import java.util.Scanner;
 
public class DiGui02 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请你输入一个数字:");
        int num = sc.nextInt();
        String ss = way(num);
        System.out.println(num+"的逆序为:"+ss);
 
    }
    public static String way(int num){
        String s="";
        if (num<10){
            return num+s;
        }else {
            return s+way(num%10)+way(num/10);
        }
    }
}

运行结果:

java逆序输出正整数

请用程序实现

输入一个不多于五位的正整数 num,并输出其位数,每一位的数字,以及逆序排列的每位数字。

示例:

  • 输入

12345

  • 输出

5
12345
54321

请用程序实现

输入一个不多于五位的正整数 num,并输出其位数,每一位的数字,以及逆序排列的每位数字。

示例:

  • 输入

12345

  • 输出

5
12345
54321

import java.util.Scanner;
public class Program {
   public static void main(String[] args) {
       Scanner sc = new Scanner(System.in);
       int num=sc.nextInt();
       int pa=0;
       if(num<10){
               pa=1;
       }
       if(num>=10&&num<100){
               pa=2;
       }
       if(num>99&&num<1000){
               pa=3;
       }
       if(num>999&&num<10000){
               pa=4;
       }
       if(num>9999&&num<100000){
               pa=5;
       }
       System.out.println(pa);
       int qian,bai,shi,ge,wan;
       wan=num/10000;
       qian=(num-wan*10000)/1000;
       bai=(num-wan*10000-qian*1000)/100;
       shi=(num-wan*10000-qian*1000-bai*100)/10;
       ge=num%10;
       switch(pa)
           {
               case 5:   
                   System.out.printf("%d%d%d%d%d\n",wan,qian,bai,shi,ge);
                   System.out.printf("%d%d%d%d%d",ge,shi,bai,qian,wan);
                   break;
               case 4:  
                   System.out.printf("%d%d%d%d\n",qian,bai,shi,ge);
                   System.out.printf("%d%d%d%d\n",ge,shi,bai,qian);
                   break;
               case 3:       
                   System.out.printf("%d%d%d%d%d\n",bai,shi,ge);
                   System.out.printf("%d%d%d\n",ge,shi,bai);
                   break;
               case 2:   
                   System.out.printf("%d%d\n",shi,ge);
                   System.out.printf("%d%d",ge,shi);
                   break;
               case 1:   
                   System.out.printf("%d\n",ge);
                   System.out.printf("%d",ge);
                   break;    
           }
   }
}

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • maven项目不编译xml文件问题

    maven项目不编译xml文件问题

    这篇文章主要介绍了maven项目不编译xml文件问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-09-09
  • Java实现定时任务的方法详解

    Java实现定时任务的方法详解

    大家都用过闹钟,闹钟可以说是一种定时任务。那么,在 Java 中,如何实现这样的功能呢?即如何实现定时任务呢?本文就来详细和大家聊聊
    2022-10-10
  • 深入剖析springBoot中的@Scheduled执行原理

    深入剖析springBoot中的@Scheduled执行原理

    这篇文章主要介绍了springBoot中的@Scheduled执行原理,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-11-11
  • java使用elasticsearch分组进行聚合查询过程解析

    java使用elasticsearch分组进行聚合查询过程解析

    这篇文章主要介绍了java使用elasticsearch分组进行聚合查询过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-02-02
  • 简单了解Spring循环依赖解决过程

    简单了解Spring循环依赖解决过程

    这篇文章主要介绍了简单了解Spring循环依赖解决过程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-11-11
  • Hibernate环境搭建与配置方法(Hello world配置文件版)

    Hibernate环境搭建与配置方法(Hello world配置文件版)

    这篇文章主要介绍了Hibernate环境搭建与配置方法,这里演示Hello world配置文件版的具体实现步骤与相关代码,需要的朋友可以参考下
    2016-03-03
  • Java实现微信小程序加密数据解密算法

    Java实现微信小程序加密数据解密算法

    我们开发微信小程序的过程中,我们的服务端有时需要获取微信提供的开放数据。微信会对这些开放数据做签名和加密处理,本文通过实例代码给大家介绍Java实现微信小程序加密数据解密算法,感兴趣的朋友一起看看吧
    2021-11-11
  • Java实现五子棋游戏的完整代码

    Java实现五子棋游戏的完整代码

    这篇文章主要为大家详细介绍了Java实现五子棋游戏的完整代码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-10-10
  • Spring之@Aspect中通知的5种方式详解

    Spring之@Aspect中通知的5种方式详解

    本文主要介绍了Spring之@Aspect中通知的5种方式详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-05-05
  • Java ArrayList与Vector和LinkedList的使用及源码分析

    Java ArrayList与Vector和LinkedList的使用及源码分析

    ArrayList、Vector、LinkedList类均在java.util包中,均为可伸缩数组,即可以动态改变长度的数组。ArrayList 和 Vector都是基于存储元素的Object[] array来实现的,它们会在内存中开辟一块连续的内存来存储
    2022-11-11

最新评论