`
zeyuphoenix
  • 浏览: 59845 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

收集面试题(二)(转换数字为汉字)

阅读更多
输入数字,转换为汉字:
/**
	 * @param args
	 */
	public static void main(String[] args) {

		System.out.println(changeNumber(123003098));
	}

	public static String changeNumber(int number) {

		StringBuffer buffer = new StringBuffer("");
		char[] nums = Integer.valueOf(number).toString().toCharArray();

		int length = nums.length;

		if (length % 4 == 0) {

			for (int i = 0; i < length / 4; i++) {

				for (int j = 0; j < 4; j++) {
					if (j == 3
							&& Integer.valueOf(String.valueOf(nums[i * 4 + j])) == 0) {
						break;
					}
					buffer.append(valueReturn(nums[i * 4 + j])
							+ addReturn(j - 3));
				}

				buffer.append(addReturn(length / 4 - i - 1));
			}
		} else {
			int over = length % 4;
			for (int j = 0; j < over; j++) {
				buffer.append(valueReturn(nums[j]) + addReturn(j - over + 1));
			}
			buffer.append(addReturn(length / 4));
			for (int i = 0; i < length / 4; i++) {

				for (int j = 0; j < 4; j++) {
					if (j == 3
							&& Integer.valueOf(String.valueOf(nums[i * 4 + j
									+ over])) == 0) {
						break;
					}
					buffer.append(valueReturn(nums[i * 4 + j + over])
							+ addReturn(j - 3));
				}

				buffer.append(addReturn(length / 4 - i - 1));
			}
		}

		return buffer.toString();
	}

	private static String addReturn(int info) {
		String value = "";
		switch (info) {
		case -3:
			value = "仟";
			break;
		case -2:
			value = "佰";
			break;
		case -1:
			value = "拾";
			break;
		case 0:
			value = "";
			break;
		case 1:
			value = "萬";
			break;
		case 2:
			value = "亿";
			break;
		case 3:
			value = "萬亿";
			break;
		case 4:
			value = "亿亿";
			break;
		default:
			break;
		}

		return value;
	}

	private static String valueReturn(char info) {
		String value = "";
		int select = Integer.valueOf(String.valueOf(info));
		switch (select) {
		case 0:
			value = "零";
			break;
		case 1:
			value = "壹";
			break;
		case 2:
			value = "贰";
			break;
		case 3:
			value = "叁";
			break;
		case 4:
			value = "肆";
			break;
		case 5:
			value = "伍";
			break;
		case 6:
			value = "陆";
			break;
		case 7:
			value = "柒";
			break;
		case 8:
			value = "捌";
			break;
		case 9:
			value = "氿";
			break;
		default:
			break;
		}
		return value;
	}
分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    java经典面试题.doc

    ### Java经典面试题知识点解析 #### 1. super()与this()的区别? - **super()**:用于调用父类的构造方法。在一个子类的构造方法中,如果要调用父类的构造方法,必须使用`super()`,并且这个调用语句必须放在子类...

    柯莱特Java面试题收集

    - **知识点概述**:`char`类型可以存储Unicode编码的字符,包括中文汉字,因为Unicode编码字符集中包含了常见的汉字。每个`char`类型占用两个字节的空间。 ### 8. 最高效的乘法运算 - **知识点概述**:最高效的...

    经典python面试题

    ### 经典Python面试题详解 #### 1. 为什么学习Python? - **简洁易读**:Python语法简单明了,降低了学习门槛。 - **应用广泛**:可用于Web开发、数据分析、人工智能等多个领域。 - **社区活跃**:拥有庞大的...

    java面试题

    84.8. 将一个键盘输入的数字转化成中文输出(例如:输入1234567,输出:一百二拾三万四千五百六拾七),请用java语言编一段程序实现! 114 84.9. 题目1:用1、2、2、3、4、5这六个数字,用java写一个main函数,打印出所有...

    c#面试题及答案

    【C#面试题及答案】 在C#面试中,面试官常常会考察应聘者对C#基础知识的理解,包括面向对象编程、语法特性、类库使用等。以下是对一些常见C#面试题的详细解答: 1. `&lt;%# %&gt;` 和 `&lt;% %&gt;` 的区别: - `&lt;%# %&gt;` 是...

    asp.net面试试题收集

    序列化是将对象的状态转换为可以存储或传输的形式的过程。通常用于以下场景: - 对象可以通过网络传输。 - 对象可以持久化到磁盘上。 - 序列化后的对象可以在不同的系统之间共享。 - 反序列化是序列化的逆过程,...

    java面试题大集合

    ### Java综合面试题知识点解析 #### 一、super()与this()的区别? - **super()**:用于调用父类的构造方法。在一个子类的构造方法中,如果要调用父类的构造方法,必须使用`super()`,并且这个调用语句必须放在子类...

    java 面试题 总结

    抽象包括两个方面,一是过程抽象,二是数据抽象。 2.继承: 继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类...

    java资料面试题

    - **垃圾收集**:自动释放不再使用的对象所占用的内存空间。 #### 1.8 什么是 JRE (或 J2RE)? **JRE (Java Runtime Environment)** 包括 JVM 和执行 Java 程序所需的基本类库。它是运行 Java 程序的基础环境,...

    JAVA面试题解惑系列(六)——字符串(String)杂谈[收集].pdf

    如果直接使用`+`运算符连接多个`char`变量,例如`System.out.print(a + b + c + d + e + f)`,实际上会触发隐式的类型转换,`char`变量会被转换为对应的Unicode编码(整数值),然后进行数字的加法运算,而非字符的...

    最全最好的java面试题!

    9. 将数值型字符转换为数字,可以使用Integer.parseInt()或Character.getNumericValue()。四舍五入保留两位小数,可以使用DecimalFormat类或者BigDecimal类。 10. short s1 = 1; s1 = s1 + 1; 这个语句会隐式提升...

    Java面试题(2023最新版)

    Java面试题涵盖了许多核心知识点,包括基础语法、内存管理、多线程、异常处理、类与对象、数据类型转换、字符串操作以及高级特性等。以下是对部分问题的详细解答: 1. `float f=3.4;` 不正确,因为3.4是一个double...

    经典Python面试题之Python基础篇.docx

    ### 经典Python面试题知识点解析 #### 1. 为什么学习Python? - **易学性**: Python 的语法简洁明了,易于上手,适合初学者快速入门编程。 - **广泛应用**: 在数据科学、Web 开发、自动化脚本、网络爬虫等领域有着...

    超级有影响力霸气的Java面试题大全文档

    超级有影响力的Java面试题大全文档 1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。...

Global site tag (gtag.js) - Google Analytics