java例题_24 逆向输入数字

 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 }

 

posted @ 2020-02-14 15:26  浪漫主义程序员  阅读(304)  评论(0编辑  收藏  举报