题目:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。
public class 第二十四题打印各位数字 {
public static void main(String[] args) {
// 请输入一个5位以内的正整数
System.out.print("请输入一个5位以内的正整数:");
Scanner in = new Scanner(System.in);
int n = in.nextInt();
if (n < 0 || n > 1000000) {
System.out.println("输入有误,请重新输入");
} else {
System.out.println("这个数为" + getDigits(n) + "位");
reversePrint(n);
}
in.close();
}
// 获取这个数的位数
public static int getDigits(int n) {
int count = 0; // 记录位数
while (n > 0) {
if (n % 10 != 0) {
count++;
}
n /= 10;
}
return count;
}
// 逆序打印
private static void reversePrint(int n) {
System.out.print("逆序输出: ");
while (n > 0) {
if (n % 10 != 0) {
System.out.print(n % 10 +" ");
}
n /= 10;
}
}
}