`
jsczxy2
  • 浏览: 1270827 次
  • 性别: Icon_minigender_1
  • 来自: 常州
文章分类
社区版块
存档分类
最新评论

数据结构与算法:两道关于文字的面试题

    博客分类:
  • java
阅读更多

package com.test;

import junit.framework.TestCase;

public class TestLetter extends TestCase{
	private static final char RMB[] = {'拾','百','千','万','拾','百','千','亿'};
	private static final char NUMBER[] = {'零','一','二','三','四','五','六','七','八','九'};
	
	
	public void testChange() throws Exception {
		int n = 132222113;
		System.out.println(changeRMBToChinese(n));
	}
	
	public void test_letter() throws Exception {
		String s = "我ABC汉DEF";
		System.out.println(splitLetter(s, 6));
	}
	
	
	private String changeRMBToChinese(Integer n){
		int length = String.valueOf(n).length();
		System.out.println(length);
		StringBuffer sb = new StringBuffer();
		for(int i=length-1;i>=0;i--){
			int num = n/Double.valueOf(Math.pow(10, i)).intValue();
			n = n % Double.valueOf(Math.pow(10, i)).intValue();
			System.out.println("除数:"+Double.valueOf(Math.pow(10, i)).intValue());
			System.out.println("num:"+num);
			sb.append(NUMBER[num]);
			if(i>0 && !"零".equals(NUMBER[num]))
				sb.append(RMB[i-1]);
		}
		return sb.append("元").toString();
	}
	
	private String splitLetter(String str,int bytesize){
		int j = 0;
		StringBuffer sb = new StringBuffer();
		char[] cs = str.toCharArray();
		for(int i=0;i<cs.length;i++){
			if(isChinese(cs[i])){
				j = j + 2;
			}else{
				j = j + 1;
			}
			if(j<=bytesize){
				sb.append(cs[i]);
			}else{
				break;
			}
		}
		return sb.toString();
	}
	
	private boolean isChinese(char c){
		return (new StringBuffer().append(c).toString().getBytes().length)==1?false:true;
	}
	
	
}
 
分享到:
评论

相关推荐

    算法与数据结构》学习指导与习题解析,PDG格式,非常好的程序

    《算法与数据结构》是计算机科学中的核心课程,它涵盖了编程和系统设计中不可或缺的基础概念。这本学习指导与习题解析的PDG格式文件,无疑是深入理解和掌握这些概念的宝贵资源。PDG格式是一种早期的电子书格式,通常...

    文档数据结构算法设计笔试面试题100+

    在这个案例中,提供了一个包含“文档数据结构算法设计笔试面试题100+”的百度网盘链接。 - **资源分享注意事项**: - 确保分享的内容不侵犯版权。 - 分享时可以附加一些说明文字,方便下载者了解资源的内容和用途...

    《数据结构与算法分析》

    在“数据结构与算法分析.pdf”这个文件中,你将能够找到详细的文字描述、示例代码以及可能的练习题,这些都是深入学习和实践这些知识的有效途径。请确保仔细阅读,多做练习,不断巩固和提高自己的技能。记住,理论与...

    数据结构课件及算法演示系统(严蔚敏)

    这个名为“数据结构课件及算法演示系统”的资源集合,是针对数据结构初学者的一份宝贵资料,它可以帮助学习者深入理解和掌握数据结构的基本概念、原理和应用。 课件部分通常包含一系列幻灯片,这些幻灯片详细阐述了...

    2021年JAVA开发面试题.zip

    这些题目旨在测试应聘者的Java编程基础、面向对象设计、并发编程、数据结构与算法、框架应用以及系统设计等方面的知识和能力。以下是可能包含的一些关键知识点: 1. **Java基础**:包括Java语法、类与对象、封装、...

    《Hello 算法》:动画图解、一键运行的数据结构与算法教程,支持 Python, C++, Java, C#, G.zip

    《Hello 算法》是一本独特且直观的数据结构与算法教程,旨在通过动画图解和一键运行的方式,帮助学习者深入理解并实践各种编程语言中的数据结构与算法。这本书覆盖了Python、C++、Java和C#四种主流编程语言,使得...

    图灵电子书 挑战编程技能:57道程序员功力测试题

    2. **算法与数据结构**:编程题目往往涉及到排序、查找、图论、动态规划等经典算法,以及链表、树、队列、栈等数据结构的运用。 3. **问题解决策略**:通过解题,读者可以学习如何分析问题、设计解决方案,以及如何...

    百度面试题

    1. **技术面试**:对于技术岗位,面试官可能会考察编程语言(如Java、Python、C++等)、算法与数据结构、操作系统原理、计算机网络、数据库管理等方面的知识。 2. **产品面试**:产品岗位的面试通常涉及产品规划、...

    福高(天津)Java程序算法面试题

    "福高(天津)Java程序算法面试题"这个标题表明这是一个与Java编程语言相关的面试问题集,特别关注的是算法方面。福高(天津)可能是一家公司在天津的分支机构,它对求职者的技术能力有较高的要求,尤其是Java编程和...

    联信永益面试题

    在IT行业的面试中,尤其是针对联信永益这样的专业服务公司,面试题目的设计往往涵盖了多个方面的技术知识,包括但不限于算法、数据结构以及问题解决能力。以下是对标题、描述及标签所涉及知识点的详细说明: 1. **...

    达内面试题答案

    7. **算法与数据结构**:排序、搜索算法,复杂度分析等。 8. **项目管理与软技能**:敏捷开发、需求分析、团队协作等面试中常问的非技术问题。 利用这份资料,求职者可以针对性地复习和准备,提高自己在面试中的...

    一道微软面试算法题进来看看

    根据给定的信息,我们可以推断出这是一道与链表操作相关的微软面试算法题。下面将详细介绍该题目可能涉及的知识点、解题思路以及代码实现。 ### 题目解析 #### 标题:一道微软面试算法题进来看看 这个标题暗示了...

    前端面试题汇总

    ### 前端面试题汇总知识点详解 #### HTML与CSS基础 **1. 你在哪些浏览器测试过页面?这些浏览器的内核分别是什么?** - **浏览器及其内核:** - **Chrome**: Blink(基于WebKit) - **Firefox**: Gecko - **...

    字符串面试题整理

    字符串是编程语言中常见且重要的数据结构之一,尤其在面试中常常被用来考察候选人的逻辑思维和算法理解能力。以下是一些与字符串相关的面试题目及其解题思路: 1. **字符串循环左移**:给定一个字符串和一个整数k,...

    2018年12月份黑马学员面试题

    这份资料集合了2018年12月份期间,黑马程序员学员在求职过程中遇到的真实面试题目,涵盖了多个IT技术领域,包括但不限于Java、Python、前端开发、数据库、操作系统、网络、数据结构与算法等。这些题目是学员们面试...

    java算法大全[文字版]中文

    《Java算法大全》是一本专为Java程序员设计的算法学习指南,它涵盖了各种常见的数据结构和算法,并以中文形式呈现,方便国内读者阅读。这本书的特点是提供了高清的文字版,而非扫描版,使得阅读和查找信息更为便捷。...

    BAT机器学习面试1000题系列

    ### BAT机器学习面试1000题系列知识点详解 #### 1. 归一化为何能提高梯度下降法求解最优解的速度? 归一化技术可以显著改善梯度下降法在训练机器学习模型时的表现。主要原因在于: - **解决尺度差异**:特征之间...

    JAVA面试 算法题

    排序算法是数据结构中的基础内容之一,了解常见的排序算法对于程序员来说非常重要。题目要求列出常见的排序算法,并使用Java实现快速排序。 **解题思路**: 1. **常见排序算法**:包括插入排序、选择排序、交换...

    2020年大数据面试题

    由于给出的内容中有些文字识别错误或漏识别,需要根据上下文及专业知识进行校正。接下来,我将详细解释【标题】和【描述】中提及的知识点,内容主要针对大数据面试相关知识点,涉及Kafka消息结构、Kafka offset的...

Global site tag (gtag.js) - Google Analytics