Java输入一个整数,
要求:1、求出它是几位数
2、分别输出每一位数字
3、按逆序输出各位数字,例如原数为321,应输出123
代码如下:
import java.util.Scanner;
public class Main{
//求这个数是几位数
public static int Leng(int num){
if(num == 0){
return 1;
}
//num > 0的条件下用num除以十,每除一次表示一位 n + 1,直到除掉最后一位此时num = 0循环结束
int n = 0;
while(num > 0){
num = num / 10;
n++;
}
return n;
}
//输出每一位
public static void output1(int num){
//如果num > 9说明位数大于1位,则将n / 10(去掉最后一位)递归调用output1
//如果num <= 9了说明就剩一位,num % 10输出这一位,并从堆栈中依次输出其他位数
if(num > 9){
output1(num / 10);
}
System.out.printf("%d ", num % 10);
}
//逆序输出每一位
public static void output2(int num){
if(num == 0){
return 0;
}
//用num % 10来输出每一位,同时num / 10去掉最后一位
int n = 0;
while(num > 0){
n = num % 10;
num = num / 10;
System.out.printf("%d", n);
}
}
public static void main(String[] args){
Scanner scanner = new Scanner(System.in);
int num = scanner.nextInt();
System.out.println(Leng(num));
output1(num);
System.out.println();
output2(num);
}
}