Java遞歸調(diào)用如何實(shí)現(xiàn)數(shù)字的逆序輸出方式
java遞歸調(diào)用實(shí)現(xiàn)數(shù)字的逆序輸出
輸入一串?dāng)?shù)字,將數(shù)字逆序輸出出來(lái),如:12,運(yùn)行結(jié)果為21;首先不管怎樣,我們都要先得到十位上的數(shù)字和個(gè)位上的數(shù)字,十位上的數(shù)字,就是用12/10;個(gè)位上的數(shù)字就是得到他的余數(shù)即12%10;然后用字符串將它們加起來(lái),遞歸調(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)定時(shí)任務(wù)的方法詳解
大家都用過(guò)鬧鐘,鬧鐘可以說(shuō)是一種定時(shí)任務(wù)。那么,在?Java?中,如何實(shí)現(xiàn)這樣的功能呢?即如何實(shí)現(xiàn)定時(shí)任務(wù)呢?本文就來(lái)詳細(xì)和大家聊聊2022-10-10
深入剖析springBoot中的@Scheduled執(zhí)行原理
這篇文章主要介紹了springBoot中的@Scheduled執(zhí)行原理,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-11-11
java使用elasticsearch分組進(jìn)行聚合查詢(xún)過(guò)程解析
這篇文章主要介紹了java使用elasticsearch分組進(jìn)行聚合查詢(xún)過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-02-02
簡(jiǎn)單了解Spring循環(huán)依賴(lài)解決過(guò)程
這篇文章主要介紹了簡(jiǎn)單了解Spring循環(huán)依賴(lài)解決過(guò)程,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-11-11
Hibernate環(huán)境搭建與配置方法(Hello world配置文件版)
這篇文章主要介紹了Hibernate環(huán)境搭建與配置方法,這里演示Hello world配置文件版的具體實(shí)現(xiàn)步驟與相關(guān)代碼,需要的朋友可以參考下2016-03-03
Java實(shí)現(xiàn)微信小程序加密數(shù)據(jù)解密算法
我們開(kāi)發(fā)微信小程序的過(guò)程中,我們的服務(wù)端有時(shí)需要獲取微信提供的開(kāi)放數(shù)據(jù)。微信會(huì)對(duì)這些開(kāi)放數(shù)據(jù)做簽名和加密處理,本文通過(guò)實(shí)例代碼給大家介紹Java實(shí)現(xiàn)微信小程序加密數(shù)據(jù)解密算法,感興趣的朋友一起看看吧2021-11-11
Java ArrayList與Vector和LinkedList的使用及源碼分析
ArrayList、Vector、LinkedList類(lèi)均在java.util包中,均為可伸縮數(shù)組,即可以動(dòng)態(tài)改變長(zhǎng)度的數(shù)組。ArrayList 和 Vector都是基于存儲(chǔ)元素的Object[] array來(lái)實(shí)現(xiàn)的,它們會(huì)在內(nèi)存中開(kāi)辟一塊連續(xù)的內(nèi)存來(lái)存儲(chǔ)2022-11-11

