Java递归调用如何实现数字的逆序输出方式
作者:后来的老李
这篇文章主要介绍了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; } } }
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。