- 浏览: 324383 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (254)
- java (178)
- tomcat (6)
- 邮件 (1)
- smtp (1)
- Linux (2)
- 编码 (2)
- 导入工程 (1)
- Specification Level (1)
- hibernate (10)
- 字段类型 (1)
- 字段类型匹配 (1)
- 数据库 (3)
- sql (9)
- struts2 (8)
- 类型转换 (2)
- java,MyEclipse,SVN (1)
- Myecplise (4)
- 输入校验 (1)
- JFrame (2)
- Oracle (8)
- google (1)
- Swing (3)
- Fusioncharts (1)
- 找工作 (0)
- js (4)
- jsp (11)
- displaytag (1)
- spring (8)
- 工作 (1)
- String (1)
- 算法 (2)
- IO (1)
- xml (3)
- 设计模式 (1)
- UML (1)
- 文档 (1)
- ajax (1)
- 日常 (7)
- sql server (1)
- mysql (3)
- git (1)
- Maven (1)
- mongodb (1)
- postman (1)
最新评论
这些代码都是自己写出来没有经过修改的
第一题(这个答案可能还有些地方没有考虑到,比如10001000的时候结果就差一个零):
第二题:
第一题(这个答案可能还有些地方没有考虑到,比如10001000的时候结果就差一个零):
package com.shengshiyuan.competition; import java.util.regex.Matcher; import java.util.regex.Pattern; public class DigitalConversion { public void conversion(String str) { // 首先用正则表达式判断是否都为数字 if (this.isNumeric(str)) { // 最多输入8个字符 if (str.length() <= 8) { String result = this.getNumberToRMB(str); System.out.println(result); } else { System.out.println("用户输入的字符个数不能多于8个!"); } } else { System.out.println("用户输入的字符不都为数字,无法转换!"); } } /** * 利用正则表达式判断是否都为数字 * 方法: isNumeric <br> * 描述: TODO <br> * 作者: * 时间: Nov 4, 2013 11:08:50 AM * @param str * @return */ public boolean isNumeric(String str) { Pattern pattern = Pattern.compile("[0-9]*"); Matcher isNum = pattern.matcher(str); if (!isNum.matches()) { return false; } return true; } /** * * 方法: getNumberToRMB <br> * 描述: 将数值转换成人民币大写,根据网上一搜索整理修改而成 仍然有两个Bug 1、万亿以上可能出错 2、连续0可能出错 * 作者: * 时间: Nov 4, 2013 11:31:48 AM * @param rmb * @return */ public String getNumberToRMB(String rmb) { /**//* * 人民币表达式中使用的中文字符(num)及计量单位位字符(dw) */ // String num = "零壹贰叁肆伍陆柒捌玖"; String num = "零一二三四五六七八九"; String dw = "个十百千万亿"; // 补齐小数位,多加“0”不影响计算和转换 // rmb += rmb.indexOf(".") == -1 ? ".00" : "00"; // String mm[] = rmb.split("//."); // System.out.println("mm" + mm); // String money = mm[0]; String money = rmb; System.out.println(money); // String money = rmb; /**//* * 转换小数部分 */ // String result = num.charAt(Integer.parseInt("" + mm[1].charAt(0))) // + "角" + num.charAt(Integer.parseInt("" + mm[1].charAt(1))) // + "分"; String result = ""; // String result = ""; if (money.startsWith("0")) { while (money.startsWith("0")) { money = money.substring(1, money.length()); } } /**//* * 设置循环,从整数最低位开始转换 */ for (int i = 0; i < money.length(); i++) {// i=位数,从个位开始取值 String str = ""; int n = Integer.parseInt(money.substring(money.length() - i - 1, money.length() - i));// 当前位的数值=n System.out.println("n" + n); str = str + num.charAt(n);// 根据数值取出中文大写字符 System.out.println("str" + str); // 根据位数判断 if (i == 0) { str += dw.charAt(i);// 加上个 } else if ((i + 4) % 8 == 0) { str += dw.charAt(4);// 加上万 } else if (i % 8 == 0) { str += dw.charAt(5);// 加上亿 } else { str += dw.charAt(i % 4);// 不为整就求余(加上十百千) } result = str + result;// 把当前字符加到最前面(最高位) } System.out.println("result:" + result); result = result.substring(0, result.length() - 1); result = result.replaceAll("零([^亿万])", "零"); result = result.replaceAll("亿零+万", "亿零"); result = result.replaceAll("零+", "零"); result = result.replaceAll("零([亿万元])", "$1"); result = result.replaceAll("一十", "十"); // result = result.replaceAll("^元", ""); // result = result.replaceAll("零角零分", "整"); // result = result.replaceAll("零分", "整"); if (result.endsWith("零")) { result = result.substring(0, result.length() - 1); } return result; } public static void main(String[] args) { new DigitalConversion().conversion("10000100"); } }
第二题:
package com.shengshiyuan.competition; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; /** * 自定义注解 * 类: Test <br> * 描述: TODO <br> * 作者: * 时间: Nov 1, 2013 10:51:18 AM */ @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.METHOD) public @interface Test { }
package com.shengshiyuan.competition; /** * 供程序详解类 * 类: MyClass <br> * 描述: TODO <br> * 作者: * 时间: Nov 1, 2013 10:49:02 AM */ public class MyClass { public void method1() { System.out.println("method1"); } @Test public void method2() { System.out.println("method2"); } @Test public int add(int a, int b) { return a + b; } @Test public void doSomething(String str) { System.out.println(str); } @Test public void doSomething2() { System.out.println("doSomething2()"); } }
package com.shengshiyuan.competition; import java.lang.reflect.Method; /** * 当用户将类的全名以字符串的形式传递给该run方法时,run方法会自动执行用户所提供的类中的所有被@Test注解所修饰的public void 且不带参数的方法 * 类: ApplicationRun <br> * 描述: TODO <br> * 作者: * 时间: Nov 1, 2013 10:54:07 AM */ public class ApplicationRun { public void run(String className) throws Exception { Class<?> targetClass = Class.forName(className); Object object = targetClass.newInstance(); Method[] methods = targetClass.getDeclaredMethods(); for (Method method : methods) { // 注解里面包含Test注解 if (null != method.getAnnotation(Test.class)) { Class<?>[] parameClass = method.getParameterTypes(); if (0 == parameClass.length) { // 调用method对应方法 method.invoke(object, new Object[] {}); } } } } public static void main(String[] args) throws Exception { ApplicationRun application = new ApplicationRun(); application.run("com.shengshiyuan.competition.MyClass"); } }
- 试题.rar (12.7 KB)
- 下载次数: 2
发表评论
-
领域精通涉及技术点(不分先后)
2017-12-20 19:35 620Java8 netty jvm kafaka消息队列 上传下载 ... -
计算机各种单位讲解及换算
2017-12-13 13:54 1642我还听过有UK的 一、最小单位:位(bit,缩写为b) 在原 ... -
JAVA字符串格式化-String.format()和MessageFormat的使用
2017-12-05 10:39 1447String.format()常规类型的格式化 Stri ... -
eclipse启动项目常见问题
2017-11-16 17:46 1184今儿遇到了个问题,ecli ... -
字符编码笔记:ASCII,Unicode和UTF-8
2017-10-23 16:37 458讲的太牛逼了: http://ww ... -
emoji简单讲解
2017-10-23 15:17 973emoji处理方式大起底 http://blog.csdn.n ... -
BigDecimal讲解
2017-10-12 15:58 445BigDecimal 由任意精度的整数非标度值 和 32 位的 ... -
eclips 控制台console上不打印信息
2017-09-06 21:53 5811、进windows菜单 -> show view -& ... -
详解RequestMappingHandlerMapping和RequestMappingHandlerAdapter
2017-08-29 17:08 2981http://donald-draper.iteye.com/ ... -
用@ExceptionHandler 来进行切面异常处理
2017-08-29 11:47 2311有时候我们想处理某个类里Controller中抛出的异常怎么搞 ... -
Spring 注解@Component、@Repository、@Service、@Controller区别
2017-08-28 15:27 1017spring 2.5 中除了提供 @Com ... -
线程的一点小总结
2017-08-23 20:36 709java中main方法启动的是一个进程还是一个线程? 答:是一 ... -
线程池
2017-08-23 17:35 522诸如Web 服务器、数据库 ... -
Class源码大概讲解
2017-08-23 16:47 512http://blog.csdn.net/a327369238 ... -
Spring 事务相关
2017-08-14 12:10 476Transactionz注解的readOnly ... -
把时间当做朋友-前言
2017-08-13 20:47 407要管理的不是时间,而是自己。人们生活在同一个世界,却又各自 ... -
单例里面的方法讲解
2017-08-11 14:55 490spring里的controller是单例的。系统针对每个co ... -
eclipse拷贝出来的项目名称还是原来的
2017-07-26 16:46 1082需要修改的有如下几个地方: 1、pom.xml里面打包的名字一 ... -
自定义hibernate方言,新增自定义函数
2017-06-27 10:47 880按位与运算(&)在许多数据库中都是支持的,遗憾的是,H ... -
http请求参数:header body paramter三种参数区别、联系
2017-06-19 10:46 489112345
相关推荐
胡一鸣的《八字命理面授笔记编辑版完整版》不仅仅是一份面授讲义的简单记录,而是对传统命理学的系统化梳理与阐述。本文旨在深入浅出地呈现这些传统智慧,以便读者能够更好地理解八字命理的丰富内涵。 首先,十天干...
四中网校客户端,如果你报名了四中网校的面授课程,千万要记得下载,否则你是无法正常观看四中网校的面授课程的!
接着,编译器(如GCC或Clang)将源代码转换为机器可读的目标文件.obj;然后,链接器将目标文件与库文件结合生成可执行文件.exe;最后,运行这个可执行文件以在屏幕上显示结果。 2. **函数的返回值类型**: - C++中...
网校系统的核心功能包括点播课程、直播课程、考试、面授课程等,这些功能的设置使得学习者可以根据自己的实际需求和时间安排,选择最适合自己的学习方式。无论是需要灵活安排学习时间的点播课程,还是追求实时互动...
AI领域实战的基石 人工智能实战篇-自然语言处理顶尖专家 真正专家级面授实战课程
在电子技术领域,电路可以分为两大类:模拟电路和数字电路。模拟电路是电子系统的基础,它处理连续变化的电信号,这些信号可以代表声音、温度、压力等物理量。在模拟电路中,元件的动作方式遵循线性变化的规律,重点...
因此,将园林设计与施工技能竞赛标准融入园林CAD课程的日常教学,进行全面的综合改革,不仅能够避免技能竞赛下教育的精英化倾向,还能更好地为选拔参赛选手打好基础,并为社会培养更多合格的实用型人才。 职业技能...
生物网络面授班课程.pptx
24工程专业--面授.xls
- **进制之间的转换**:学习二进制、十进制、十六进制之间的相互转换方法,为理解计算机底层原理打下基础。 - **Java基本数据类型**:详细介绍Java中的八种基本数据类型,包括它们的大小、范围和使用场景。 - **面向...
虽然文档中的具体题目没有给出,但从描述中我们可以推断出这份文档包含了考试的基本信息、注意事项以及部分试题内容。下面将从文档中提取的关键信息出发,整理出相关的知识点。 ### 一、文档基本信息 #### 1. 文件...
该平台主要使用ASP.NET技术开发,具有学生信息管理、账号信息管理、教学资料信息管理、平台公告管理、留言管理、教学视频信息管理等功能,旨在为学生提供一个功能齐全的数字课程学习平台。 知识点1:数字课程学习...
将E-R图转换为关系模型涉及到将E-R图中的实体类型转换为关系表,关系类型转换为表之间的参照完整性约束。 三、范式理论和关系模式分解 数据库设计理论中的范式(Normal Form)是用来衡量关系表设计好坏的标准,它...
进入第二章,线性表是数据结构的基础,包括两种存储结构:顺序存储和链式存储。 顺序存储结构中,线性表的元素在内存中是连续存放的。插入和删除操作涉及到元素的移动。如果要在线性表的第i个位置插入一个元素,...
01_02_面授班开场.avi
01_01_面授班开场.avi
2024嵌入式大厂面经笔试面授总结模板 百度提取方式是百度网盘分享地址