这篇“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 ",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 ",qian,bai,shi,ge); System.out.printf("%d%d%d%d ",ge,shi,bai,qian); break; case 3: System.out.printf("%d%d%d%d%d ",bai,shi,ge); System.out.printf("%d%d%d ",ge,shi,bai); break; case 2: System.out.printf("%d%d ",shi,ge); System.out.printf("%d%d",ge,shi); break; case 1: System.out.printf("%d ",ge); System.out.printf("%d",ge); break; } } }