1.按照取子字符串,中文占两个字节,英文占一个字节

package practice;public class substring{public static String getSubstring(String s, int start, int end){String  r = new String(s);String result = "";int leneed = end - start; int length = 0;int i = start;if(r.length() == r.getBytes().length)return s.substring(start, end);else{while(i<end && length <= leneed){if(isHan(r.charAt(i))){length += 2;}else{length += 1;}result = result + r.charAt(i);i += 1;}return result;}}public static boolean isHan(char a){return a >= 0x4E00 && a <= 0x9FA5; }public static void main(String[] args){String test = "中a国bc中国中国";System.out.println(getSubstring(test, 1, 10));}
}

tip: 通过a >= 0x4E00 && a <= 0x9FA5;来判断一个字符是否为中文

2.把浮点数字表示的钱的数量用中文读法来表示

public class Change{private static String[] nums = {"零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"};private static String[] units = {"", "拾", "佰", "仟", "万"}; //"个"用来充数public static String ChangeTo(double s){int intpart = (int)s;double depart = s - intpart;String result = "";String r1 = DealInt(intpart);String r2 = DealDe(depart);return result = result + r1 + "元" + r2;}public static String DealInt(int intpart){String s = "" + intpart;String r = "";int size = s.length();int unit = size; //用来计算单位的索引for(int i = 0; i < size; i++){int num = s.charAt(i) - 48;if(num != 0) {r = r + nums[num] + units[(unit-1)%4];}else if(r.charAt(r.length()-1) != '零') {r = r + "零";}if(unit == 5) {if(r.charAt(r.length()-1) == '零') r = r.substring(0, r.length()-1) + "万";else r = r + "万";}unit = unit - 1;}if(r.charAt(r.length()-1) == '零') return r.substring(0, r.length()-1);else return r;}public static String DealDe(double depart){String s = "" + depart;String r = "";if(s.charAt(2) != '0') r = r + nums[s.charAt(2)-48] + "角";if(s.charAt(3) != '0') r = r + nums[s.charAt(3)-48] + "分";return r; }public static void main(String[] args) {double s = 40520562.253;System.out.println(ChangeTo(s));}
}

tip: 不能用(int)来把char类型强制装换为整数,要通过char - 48才能得到正确结果

java疯狂讲义第四章练习题相关推荐

  1. java疯狂讲义第四版第五章答案_疯狂java讲义第五章笔记

    1 定义类,成员变量和方法 类和对象 定义类 java的类名由一个或者多个有意义的单词组合而成,每个单词的首字母大写,其他的全部消协,并且单词之间没有分隔符. 成员变量:用于定义该类或者实例的所包含的 ...

  2. 疯狂java讲义第四章习题答案

    1.使用循环输出九九乘法表. 疯狂java讲义第四章课后习题第1题答案 2.根据给定的层数,使用循环输出等腰三角形. 疯狂java讲义第四章课后习题第2题答案 3.给定半径输出圆形. 需要注意的是,计 ...

  3. 《Java疯狂讲义》第3章(数据类型和运算符):博主李俊德的阅读笔记与知识拓展

    一.问题背景 博主在准备应聘的笔试.面试时,再次采用了多年以来的Java工具书<Java疯狂讲义>,并决定在每章详细复习后都要在博客中写下详细的阅读笔记. 二.阅读笔记与知识拓展--< ...

  4. java疯狂讲义第八章-集合

    8. java疯狂讲义第八章-集合 Java 集合就像一种容器, 可以把多个对象(实际上是对象的引用,但习惯上都称对象) "丢进"该容器中. java集合分为Set.List.Qu ...

  5. 等产量曲线中r_微观经济学第四章练习题

    微观经济学第四章练习题 一.选择题 1.理性的生产者选择的生产区域应是() A.MP>AP阶段 B.MP下降阶段 C.MP>AP>0 D.MP与AP相交之点起至MP与横轴交点止 2. ...

  6. matlab高级数据结构,Matlab讲义-第四章Matlab语言数据结构1-10.pdf

    Matlab讲义-第四章Matlab语言数据结构1-10.pdf 第四章第四章 Matlab语言基础语言基础 Matlab语言程序简洁.可语言程序简洁.可 读性很强而且调试十分容易.读性很强而且调试十 ...

  7. Java核心技术卷一 -第四章:方法参数

    系列文章目录 Java核心技术卷一 -第一章:java"白皮书"的关键术语 Java核心技术卷一 -第三章:数据类型 Java核心技术卷一 -第三章:变量与常量 Java核心技术卷 ...

  8. C 程序设计语言——第四章练习题

    C 程序设计语言第二版--第四章练习题 1. Write the function strindex(s,t) which returns the position of the rightmost ...

  9. 尽信书,不如无书。java的包装类Integer的深入理解及特殊情况(以及java疯狂讲义第5版170页中的错误)

    1.通常情况下,两个包装类型只有在两个引用指向同一对象时,使用 == 进行比较时才会返回true 例如: Double do1 = Double.valueOf(1.23); Double do2 = ...

  10. 数据库系统概念第六版 第四章练习题 12 14 18

    数据库系统概念第六版 第四章练习题 12 14 18 4.12 对于图中的数据库,写出一个查询来找到那些没有经理的雇员.注意一个雇员可能只是没有列出其经理或者可能有null经理.使用外连接书写查询,然 ...

最新文章

  1. 对“单子模式”的补充
  2. 2008年12月13日上海USB驱动开发深度解析讲座PPT
  3. 2017 [六省联考] T5 分手是祝愿
  4. JAVA:this的使用
  5. qregexp限制数字范围_数字系统实现电压电流控制的必经之路数模转换器
  6. 汇编语言-003(LAHF_SAHF 、XCHG、FLAGS、 OFFSET、ALIGN、PTR、LENGTHOF、SIZEOF)
  7. 数学建模学习笔记(十)——时间序列模型
  8. dalsa工业相机8k参数_偏振光相机3——偏振应用
  9. 3元购买微信小程序解决方案一个月
  10. 超星高级语言程序设计实验作业 (实验02 分支与循环程序设计)(三)
  11. Oracle数据库基本操作(windows 本地环境)
  12. windows双系统完全删除ubuntu
  13. 40个科研学术网站,收藏必备,予取予求!
  14. Kafka的入门级API应用
  15. No silver bullet——没有银弹理论
  16. 网易2017实习生招聘面试经历
  17. pycharm运行python程序没有解释器怎么办
  18. 数据链路层协议 ——— 以太网协议
  19. ps技巧:自动选择工具的使用
  20. Java写的第一个小游戏

热门文章

  1. 《精通javascript》-----------------------读书笔记
  2. 怎么制作自己的数据集
  3. golang防止MySQL注入_防止SQL注入解决方案
  4. Axure RP for Mac中文汉化破解版
  5. 根据IP地址查询物理位置(IP地址定位库)并且查询当前地址的天气信息(中国气象网)
  6. 二次规划--积极集法(active set method)
  7. 禁用微信浏览器的下拉_解决微信浏览器禁止下拉查看真实域名网址的问题
  8. 树莓派——实时时钟模块(RTC)
  9. web前端进阶架构师之路
  10. 1.3 VS2015安装教程