输入一个自然数n,后面跟n个三位正整数,求每个三位正整数的个位数、十位数和百位数,将它们按要求的格式输出来。

输入一个自然数n,后面跟n个三位正整数,求每个三位正整数的个位数、十位数和百位数,将它们按要求的格式输出来。

问题描述:

题目描述
输入一个自然数n,后面跟n个三位正整数,求每个三位正整数的个位数、十位数和百位数,将它们按要求的格式输出来。

输入描述
一行输入,第一个是自然数n,后面跟n个三位正整数。

输出描述
每个三位整数占独立的一行,先输出这个三位整数,然后依次输出其百位数、十位数和个位数,中间用空格分隔。如果输入的数不是三位整数,则对应的那行输出为”输入错误“

输入样例
3 456 790 2100

输出样例
456 4 5 6
790 7 9 0
输入错误

原理是这样用%和/就可以计算个位数、十位数和百位数,我也是新手这写的应该符合题目

public  class Test{
    public static void main(String[] args) {
        int num; //用于保存用户输入的正整数
        int bit; //用于保存个位数
        int tens;//用于保存十位数
        int Hundreds;//用于保存百位数
        /*
        *用户输入不规范提示错误并重新输入,正确则输出
        */
        while (true) { //利用while死循环获得多次输入机会
            //通过Scanner获得一个正整数并用num来保存它
            Scanner scanner = new Scanner(System.in);
            //提醒用户输入整数
            System.out.println("请输入三位整数:");
            // 得到用户输入整数
            num = scanner.nextInt();
            //转换数据类型便于判断长度
            String newNum = String.valueOf(num);
            //判断输入整数长度是否为3
            if (newNum.length() != 3) {
                System.out.println("输入错误!请输入一个三位正整数\n");
            }
            else { //输入正确则输出,并结束循环
                bit = num % 10; // 模10得到个位
                tens = num / 10 % 10; //除10得到百位和十位 模10得到十位
                Hundreds = num / 100;//除100得到百位
                System.out.println(num + "\t" + Hundreds + " " + tens + " " + bit);
                break;
            }
        }
    }
}