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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

1.键盘录入一个大于-1小于1000的正整数num,将该整数转换成汉字在控制台输出,转换的要求如下:
如num小于10,直接将num转成对应的汉字,例:输入5,转成 五
如num大于9小于100,将数字转成对应的汉字并在十位数后面带单位”十”, 例:输入15, 输出 一十五
如num大于99小于1000,将数字转成对应的汉字,并在十位数后面带单位”十”,百位数后面带单位”百”,例:输入115,  输出  一百一十五
2.除非输入数字不在规定的范围,否则可以一直进行输入转换

[Java] 纯文本查看 复制代码
package test;

import java.util.Scanner;

public class Test1 {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		while(true){
		System.out.println("请输入您要转换的数字");
		String str = sc.next();
		String redex =  "\\d*";
		if(str.matches(redex)){
			char[] charArray = str.toCharArray();
			if(charArray.length==1){
					ge(charArray[0]);
					System.out.println();
				}
			else if(charArray.length==2){
				shi(charArray[0]);
				ge(charArray[1]);
				System.out.println();
			}
			else if(charArray.length==3){
				bai(charArray[0]);
				shi(charArray[1]);
				ge(charArray[2]);
				System.out.println();
				}
			else{
				System.out.println("您輸入的整數大於999,請重新輸入!");
			}
		}
			else{
				System.out.println("您輸入的不是0-999的整數,請重新輸入!");
			}
		
			}
	}
		
		
		
		
		
	


	public static  void ge(char c){
		switch(c){
		case '1':
			System.out.print("一");break;
		case '2':
			System.out.print("二");break;
		case '3':
			System.out.print("三");break;
		case '4':
			System.out.print("四");break;
		case '5':
			System.out.print("五");break;
		case '6':
			System.out.print("六");break;
		case '7':
			System.out.print("七");break;
		case '8':
			System.out.print("八");break;
		case '9':
			System.out.print("九");break;
		case '0':
			System.out.print("零");break;
		
	}
}

	public static void shi(char c){
		if(c!='0'){
			ge(c);
			System.out.print("十");
		}
		
		
		
	}
	
	public static void bai(char c){
		if(c!='0'){
			ge(c);
			System.out.print("百");
		}
		
	}
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马