Java遞歸調(diào)用如何實(shí)現(xiàn)數(shù)字的逆序輸出方式
java遞歸調(diào)用實(shí)現(xiàn)數(shù)字的逆序輸出
輸入一串?dāng)?shù)字,將數(shù)字逆序輸出出來,如:12,運(yùn)行結(jié)果為21;首先不管怎樣,我們都要先得到十位上的數(shù)字和個(gè)位上的數(shù)字,十位上的數(shù)字,就是用12/10;個(gè)位上的數(shù)字就是得到他的余數(shù)即12%10;然后用字符串將它們加起來,遞歸調(diào)用就是不斷調(diào)用自身的方法實(shí)現(xiàn)他
代碼如下:
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("請(qǐng)你輸入一個(gè)數(shù)字:"); int num = sc.nextInt(); String ss = way(num); System.out.println(num+"的逆序?yàn)椋?+ss); } public static String way(int num){ String s=""; if (num<10){ return num+s; }else { return s+way(num%10)+way(num/10); } } }
運(yùn)行結(jié)果:
java逆序輸出正整數(shù)
請(qǐng)用程序?qū)崿F(xiàn)
輸入一個(gè)不多于五位的正整數(shù) num,并輸出其位數(shù),每一位的數(shù)字,以及逆序排列的每位數(shù)字。
示例:
- 輸入
12345
- 輸出
5
12345
54321
請(qǐng)用程序?qū)崿F(xiàn)
輸入一個(gè)不多于五位的正整數(shù) num,并輸出其位數(shù),每一位的數(shù)字,以及逆序排列的每位數(shù)字。
示例:
- 輸入
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; ? ? ? ? ? ? ? ?} ? ?} }
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
java實(shí)現(xiàn)文件切片上傳百度云+斷點(diǎn)續(xù)傳的方法
文件續(xù)傳在很多地方都可以用的到,本文主要介紹了java實(shí)現(xiàn)文件切片上傳百度云+斷點(diǎn)續(xù)傳的方法,?文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-12-12springcloud中RabbitMQ死信隊(duì)列與延遲交換機(jī)實(shí)現(xiàn)方法
死信隊(duì)列是消息隊(duì)列中非常重要的概念,同時(shí)我們需要業(yè)務(wù)場(chǎng)景中都需要延遲發(fā)送的概念,比如12306中的30分鐘后未支付訂單取消,那么本期,我們就來講解死信隊(duì)列,以及如何通過延遲交換機(jī)來實(shí)現(xiàn)延遲發(fā)送的需求,感興趣的朋友一起看看吧2022-05-05Java實(shí)現(xiàn)簡(jiǎn)單棋盤存檔和讀取功能
這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)簡(jiǎn)單棋盤存檔和讀取功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-09-09MyBatis實(shí)現(xiàn)注冊(cè)及獲取Mapper
本文主要介紹了MyBatis實(shí)現(xiàn)注冊(cè)及獲取Mapper,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-03-03idea創(chuàng)建spring boot工程及配置文件(最新推薦)
本文給大家介紹idea創(chuàng)建spring boot工程及配置文件,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2023-11-11Java后臺(tái)批量生產(chǎn)echarts圖表并保存圖片
這篇文章主要介紹了Java后臺(tái)批量生產(chǎn)echarts圖表并保存圖片,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-05-05Java關(guān)于后端怎么去接收Date、LocalDateTime類型的參數(shù)詳解
這篇文章主要介紹了java關(guān)于后端怎么去接收Date、LocalDateTime類型的參數(shù),文中有詳細(xì)的代碼流程,對(duì)我們學(xué)習(xí)或工作有一定的參考價(jià)值,需要的朋友可以參考下2023-06-06