黑马程序员技术交流社区

标题: 分享今天做的一道题,看你会不会~ [打印本页]

作者: Fate_stay    时间: 2016-9-16 22:56
标题: 分享今天做的一道题,看你会不会~
package cn.itcast.day21_Prictice;

import java.util.Scanner;

/**
*  1.        键盘录入一个大于1小于1000的正整数,将该整数转换成中文在控制台输出
*  2.        除非输入数字不在规定的范围,否则可以一直进行输入转换
            小于10,数字后不需要带单位
                大于9小于100,数字后需要带单位”十”
                大于99小于1000,数字后需要带单位”百”
                数字转换成中文样式如下:
                5        五
                15       一十五
                115      一百一十五
*/
public class Prictice7 {
        public static void main(String[] args) {
                String[] s1 = {"零","一","二","三","四","五","六","七","八","九"};
                String[] s2 = {"十","百"};
                Scanner sc = new Scanner(System.in);
               
                while(true) {
                        System.out.println("请录入一个大于1小于1000的正整数:");
                        int num = sc.nextInt();
                        if(num < 1 || num > 1000) {
                                System.out.println("您的输入不合法! 系统结束");
                                System.exit(0);
                        }
                       
                        if(num < 10) {
                                System.out.println(s1[num]);
                        }
                       
                        if(num > 9 && num < 100) {
                                int s = num/10;
                                int g = num%10;
                                System.out.println(s1[s]+s2[0]+s1[g]);
                        }
                       
                        if(num > 99 && num < 1000) {
                                int b = num/100;
                                // 注: 十位,要除以10,再模10
                                int s = num/10%10;
                                int g = num%10;
                                System.out.println(s1[b]+s2[1]+s1[s]+s2[0]+s1[g]);
                        }
                }
        }
}







欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2