qq_62227344 2021-10-09 19:36 采纳率: 100%
浏览 45
已结题

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

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

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

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

输入样例
3 456 790 2100

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

  • 写回答

1条回答 默认 最新

  • 未过门程序猿 2021-10-09 20:45
    关注

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

    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;
                }
            }
        }
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 10月23日
  • 已采纳回答 10月15日
  • 创建了问题 10月9日

悬赏问题

  • ¥15 oracle集群安装出bug
  • ¥15 关于#python#的问题:自动化测试
  • ¥20 问题请教!vue项目关于Nginx配置nonce安全策略的问题
  • ¥15 教务系统账号被盗号如何追溯设备
  • ¥20 delta降尺度方法,未来数据怎么降尺度
  • ¥15 c# 使用NPOI快速将datatable数据导入excel中指定sheet,要求快速高效
  • ¥15 再不同版本的系统上,TCP传输速度不一致
  • ¥15 高德地图点聚合中Marker的位置无法实时更新
  • ¥15 DIFY API Endpoint 问题。
  • ¥20 sub地址DHCP问题