1 /*24 【程序 24 根据输入求输出】 2 题目:给一个不多于 5 位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。 3 */ 4 5 /*分析 6 * 首先从键盘得到一个正整数,不超过5位数用int; 7 * 用%和/将每个数字分离后存入数组,位数就是数组的角标+1,用for循环正向输出数组 8 * 分离时用while判断是否分离完成 9 * */ 10 11 package homework; 12 13 import java.util.InputMismatchException; 14 import java.util.Scanner; 15 16 public class _24 { 17 18 public static void main(String[] args) { 19 //声明x用来存放输入的数 20 int x; 21 while (true) { 22 System.out.println("请输入一个不多于 5 位正整数:"); 23 try { 24 // 从键盘得到一个正整数 25 Scanner sc = new Scanner(System.in); 26 x = sc.nextInt(); 27 if ((x > 0) & (x <= 99999)) // 判断是否为5位数以内的正整数 28 break; 29 } catch (InputMismatchException e) { // 捕获输入异常 30 System.out.println("输入错误:" + e.toString()); 31 } 32 } 33 // 初始化一个数组用来存放每个数字 34 int num[] = new int[5]; 35 int i = 0; // 数组角标 36 // 分离数字 37 while (x > 0) { 38 num[i] = x % 10; 39 i++; // 最后一步多加了个1 40 x = x / 10; 41 } 42 i = i - 1; // 多加的1减掉 43 System.out.println("这是一个" + (i + 1) + "位数,逆向输出每个数字为:"); 44 for (int j = 0; j <= i; j++) { 45 System.out.print(num[j]); 46 } 47 } 48 49 }
原文地址:https://www.cnblogs.com/scwyqin/p/12307597.html
时间: 2024-11-29 08:20:52