A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© furuigang 中级黑马   /  2016-1-16 17:40  /  3755 人查看  /  36 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

看到这样一个测试题,拿出来和大家分享一下!不喜勿喷求不打!

题目:键盘录入一个数字,表示出他的中文格式;例子:输入123,输出一二三,;输入1303,输出一三零三
备注:担心大家看不清楚格式,或是不理解代码。特附图两张。
代码如下:
import java.util.Scanner;
public class GetChinaNum {
        public static void main(String[] args) {
                System.out.println("输入一个整数:");
                Scanner sc = new Scanner(System.in);
                System.out.println(method(sc.next()));
        }
        public static String method(String str0) {
                String str = "";
                char[] arr = str0.toCharArray();
                for (int i = 0; i < arr.length; i++) {
                        String chinaNum = getChinaNum(arr);
                        if (chinaNum != null) {
                                str += chinaNum;
                        } else {
                                return "存在不合法的字符!";
                        }
                }
                return str;
        }
        public static String getChinaNum(char c) {
                switch (c) {
                case '0':
                        return "零";
                case '1':
                        return "一";
                case '2':
                        return "二";
                case '3':
                        return "三";
                case '4':
                        return "四";
                case '5':
                        return "五";
                case '6':
                        return "六";
                case '7':
                        return "七";
                case '8':
                        return "八";
                case '9':
                        return "九";
                default:
                        return null;
                }
        }
}

代码1.png (143.93 KB, 下载次数: 57)

代码1.png

代码2.png (85.63 KB, 下载次数: 53)

代码2.png

评分

参与人数 5黑马币 +41 收起 理由
李婷婷123 + 12 很给力!
shuo07528 + 8
安先森 + 10 很给力!
wuzeshui + 6 淡定
姚成晖 + 5 很给力!

查看全部评分

36 个回复

倒序浏览
李刚就是六啊,不错,顶起来。
回复 使用道具 举报
呃,很有启发撒- -,希望多发这样的帖子0.0
回复 使用道具 举报
xiaoerheijiehun 发表于 2016-1-16 17:46
李刚就是六啊,不错,顶起来。

谢谢!不知道怎么加好友啊?{:3_47:}
回复 使用道具 举报
jiayou....
回复 使用道具 举报

加油?还是加友?
回复 使用道具 举报
不错,以后多发这样的帖子,顶你。
回复 使用道具 举报
xiaoerheijiehun 发表于 2016-1-16 19:31
不错,以后多发这样的帖子,顶你。

谢谢支持!大爱你!
回复 使用道具 举报
好厉害!我得好好向你学习
回复 使用道具 举报
switch不会发生case穿透?这样怎么输出你想要的?
回复 使用道具 举报
Devilbaby 发表于 2016-1-16 20:09
switch不会发生case穿透?这样怎么输出你想要的?

这个不会发生case穿透的情况,因为其中有return关键字。执行其中的某一个case之后,return会直接结束该方法。
回复 使用道具 举报 1 0
wuzeshui 发表于 2016-1-16 19:51
好厉害!我得好好向你学习

可惜我长得没有你帅……你可以刷脸我只能刷帖子……
回复 使用道具 举报
furuigang 发表于 2016-1-16 20:12
这个不会发生case穿透的情况,因为其中有return关键字。执行其中的某一个case之后,return会直接结束该方 ...

恩   知道了   
回复 使用道具 举报
给你个赞
回复 使用道具 举报

大爱!(づ ̄ 3 ̄)づ{:3_51:}
回复 使用道具 举报
赞!
回复 使用道具 举报
回复 使用道具 举报
这么给力啊
回复 使用道具 举报
keaitao0321 来自手机 中级黑马 2016-1-17 01:32:39
19#
为什么我想不到,是不是不适合编程
回复 使用道具 举报
keaitao0321 发表于 2016-1-17 01:32
为什么我想不到,是不是不适合编程

闻道有先后、术业有专攻。接触得时间长短的问题而已。加油!
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马