java程序员面试指南(代码

  • Q9_130588
    了解作者
  • 58.8KB
    文件大小
  • rar
    文件格式
  • 0
    收藏次数
  • VIP专享
    资源类型
  • 0
    下载次数
  • 2022-04-18 03:19
    上传日期
java程序员面试指南(代码 java程序员面试指南(代码 java程序员面试指南(代码 java程序员面试指南(代码 java程序员面试指南(代码
java程序员面试指南(代码.rar
  • 代码
  • 第11章
  • aa.java
    632B
  • test_2.java
    280B
  • test_4.java
    442B
  • Person.java
    1.2KB
  • Student.java
    365B
  • testDemo.java
    131B
  • 第13章
  • data.java
    1.4KB
  • 第7章
  • Abnormal1.java
    510B
  • CharClass.java
    369B
  • Abnormal.java
    464B
  • AbnormalTest.java
    1.2KB
  • Abnormal2.java
    441B
  • catchThows.java
    266B
  • catchThows_2.java
    442B
  • CharClass_1.java
    488B
  • catchThows_1.java
    404B
  • 第17章
  • StairsFlight.java
    513B
  • HuHuanDemo.java
    1.6KB
  • InterceptionStr.java
    1.9KB
  • WriteFileServlet.java
    2.8KB
  • AmountOfConversion.java
    6.6KB
  • Palindrome.java
    685B
  • login.html
    599B
  • loginServlet.java
    1.1KB
  • InsertionSort.java
    1.3KB
  • Singleton.java
    246B
  • Guess.java
    1.6KB
  • SAXAnalysis.java
    771B
  • Information.xml
    209B
  • jiexie.jsp
    1.4KB
  • 第10章
  • AA.java
    458B
  • ThreadDemo.java
    974B
  • TextDemo_1.java
    1.4KB
  • text.java
    886B
  • TextDemo.java
    1KB
  • 第5章
  • StrEqualsDemo.java
    138B
  • StrIndexOf Demo.java
    315B
  • ArryClass_1.java
    494B
  • StringClass_1.java
    167B
  • StringBufferClass_2.java
    194B
  • StringBufferClass_4.java
    185B
  • StringBufferClass_1.java
    312B
  • StringClass_2.java
    268B
  • StringBufferClass_3.java
    193B
  • ArryClass_2.java
    519B
  • StringClass_3.java
    282B
  • 第3章
  • Square.java
    421B
  • Demo_1.java
    121B
  • Bit_5.java
    160B
  • Test.java
    154B
  • Demo.java
    119B
  • Bit_4.java
    159B
  • Test_2.java
    363B
  • Bit_1.java
    162B
  • Conditions.java
    185B
  • Bit.java
    160B
  • Test _4.java
    191B
  • WW.java
    147B
  • Test_1.java
    337B
  • Bit_2.java
    160B
  • Test_3.java
    623B
  • Bit_3.java
    142B
  • 第6章
  • ForDemo.java
    378B
  • ReturnDemo.java
    278B
  • SwitchRandom.java
    751B
  • DoWhileDemo.java
    203B
  • WhileDemo.java
    200B
  • Random.java
    1.3KB
  • ContinueDemo2.java
    407B
  • BreakDemo.java
    174B
  • ContinueClass.java
    437B
  • BreakDemo2.java
    308B
  • 第4章
  • Conversion.java
    318B
  • Real.java
    312B
  • CharClass.java
    653B
  • Test .java
    282B
  • CharClass_1.java
    203B
  • 第9章
  • InnerWaysTest.java
    442B
  • Father.java
    334B
  • AbstractTest1.java
    905B
  • Test.java
    1.3KB
  • Son.java
    308B
  • Override.java
    696B
  • AbstractTest.java
    1.7KB
  • Dog.java
    956B
  • OuterClassTest.java
    364B
  • SubDog.java
    555B
  • Overload.java
    778B
  • Test_1.java
    1.4KB
内容介绍
package programe; import java.text.NumberFormat; import java.util.HashMap; import java.util.Scanner; public class AmountOfConversion { //定义HashMap的value值 public static final String EMPTY = ""; public static final String ZERO = "零"; public static final String ONE = "壹"; public static final String TWO = "贰"; public static final String THREE = "叁"; public static final String FOUR = "肆"; public static final String FIVE = "伍"; public static final String SIX = "陆"; public static final String SEVEN = "柒"; public static final String EIGHT = "捌"; public static final String NINE = "玖"; public static final String TEN = "拾"; public static final String HUNDRED = "佰"; public static final String THOUSAND = "仟"; public static final String TEN_THOUSAND = "万"; public static final String HUNDRED_MILLION = "亿"; public static final String YUAN = "元"; public static final String JIAO = "角"; public static final String FEN = "分"; public static final String DOT = "."; private static AmountOfConversion formatter = null;//创建AmountOfConversion的实例对象 //创建初始化一个HashMap对象 private HashMap NumberMap = new HashMap(); private HashMap HighnumberofMoney = new HashMap(); //创建初始化一个NumberFormat对象 private NumberFormat numberFormat = NumberFormat.getInstance(); private AmountOfConversion() {//在用new创建AmountOfConversion对象时,为HashMap对象进行key-value的映射 numberFormat.setMaximumFractionDigits(4);//设置数据的小数部分的最大位数是4位 numberFormat.setMinimumFractionDigits(2);//设置数据的小数部分的最小位数是2位 numberFormat.setGroupingUsed(false);// 设置此格式中是不可以使用组。如果设置可以使用组,则数 1234567 可能被格式化为 "1,234,567"。 NumberMap.put("0", ZERO); NumberMap.put("1", ONE); NumberMap.put("2", TWO); NumberMap.put("3", THREE); NumberMap.put("4", FOUR); NumberMap.put("5", FIVE); NumberMap.put("6", SIX); NumberMap.put("7", SEVEN); NumberMap.put("8", EIGHT); NumberMap.put("9", NINE); NumberMap.put(DOT, DOT); HighnumberofMoney.put("1", TEN); HighnumberofMoney.put("2", HUNDRED); HighnumberofMoney.put("3", THOUSAND); HighnumberofMoney.put("4", TEN_THOUSAND); HighnumberofMoney.put("5", TEN); HighnumberofMoney.put("6", HUNDRED); HighnumberofMoney.put("7", THOUSAND); HighnumberofMoney.put("8", HUNDRED_MILLION); } public static AmountOfConversion getInstance() {//判断AmountOfConversion对象formatter是否初始化 if (formatter == null) formatter = new AmountOfConversion(); return formatter; } //进行金额转换的多种数据类型 public String format(String moneyStr) { String result = "不能进行金额转换!!"; if(isConversion(moneyStr)){ result = convertIntegerTochinese(moneyStr); result = convertPointTochinese(result); } return result; } public String format(double moneyDouble) { return format(numberFormat.format(moneyDouble)); } public String format(int moneyInt) { return format(numberFormat.format(moneyInt)); } public String format(long moneyLong) { return format(numberFormat.format(moneyLong)); } public String format(Number moneyNum) { return format(numberFormat.format(moneyNum)); } private String convertIntegerTochinese(String moneyStr) {//将参数中传入的阿拉伯数字转换成中文 String result; StringBuffer C2CStrBufer = new StringBuffer(); for (int i = 0; i < moneyStr.length(); i++) { C2CStrBufer.append(NumberMap.get(moneyStr.substring( i, i + 1))); } // 拾佰仟万亿等都是汉字里面才有的单位,加上它们 int indexOfDot = C2CStrBufer.indexOf(DOT); int moneyPatternCursor = 1; for (int i = indexOfDot - 1; i > 0; i--) { C2CStrBufer.insert(i, HighnumberofMoney.get(EMPTY + moneyPatternCursor)); moneyPatternCursor = moneyPatternCursor == 8 ? 1 : moneyPatternCursor + 1; } String fractionPart = C2CStrBufer.substring(C2CStrBufer .indexOf(".")); C2CStrBufer.delete(C2CStrBufer.indexOf("."), C2CStrBufer.length()); while (C2CStrBufer.indexOf("零拾") != -1) { C2CStrBufer.replace(C2CStrBufer.indexOf("零拾"), C2CStrBufer.indexOf("零拾") + 2, ZERO); } while (C2CStrBufer.indexOf("零佰") != -1) { C2CStrBufer.replace(C2CStrBufer.indexOf("零佰"), C2CStrBufer.indexOf("零佰") + 2, ZERO); } while (C2CStrBufer.indexOf("零仟") != -1) { C2CStrBufer.replace(C2CStrBufer.indexOf("零仟"), C2CStrBufer.indexOf("零仟") + 2, ZERO); } while (C2CStrBufer.indexOf("零万") != -1) { C2CStrBufer.replace(C2CStrBufer.indexOf("零万"), C2CStrBufer.indexOf("零万") + 2, TEN_THOUSAND); } while (C2CStrBufer.indexOf("零亿") != -1) { C2CStrBufer.replace(C2CStrBufer.indexOf("零亿"), C2CStrBufer.indexOf("零亿") + 2, HUNDRED_MILLION); } while (C2CStrBufer.indexOf("零零") != -1) { C2CStrBufer.replace(C2CStrBufer.indexOf("零零"), C2CStrBufer.indexOf("零零") + 2, ZERO); } if (C2CStrBufer.lastIndexOf(ZERO) == C2CStrBufer.length() - 1) C2CStrBufer.delete(C2CStrBufer.length() - 1, C2CStrBufer.length()); C2CStrBufer.append(fractionPart); result = C2CStrBufer.toString(); return result; } private String convertPointTochinese(String moneyStr) {//对小数点后面的数字进行汉字处理 String result; StringBuffer C2CStrBufer = new StringBuffer(moneyStr); int indexOfDot = C2CStrBufer.indexOf(DOT); C2CStrBufer.replace(indexOfDot, indexOfDot + 1, YUAN); C2CStrBufer.insert(C2CStrBufer.length() - 1, JIAO); C2CStrBufer.insert(C2CStrBufer.length(), FEN); if (C2CStrBufer.indexOf("零角零分") != -1)// 没有零头,加整 C2CStrBufer.replace(C2CStrBufer.indexOf("零角零分"), C2CStrBufer.length(), "整"); else if (C2CStrBufer.indexOf("零分") != -1)// 没有零分,加整 C2CStrBufer.replace(C2CStrBufer.indexOf("零分"), C2CStrBufer.length(), "整"); else { if (C2CStrBufer.indexOf("零角") != -1) C2CStrBufer.delete(C2CStrBufer.indexOf("零角"), C2CStrBufer.indexOf("零角") + 2); } result = C2CStrBufer.toString(); return result; } private boolean isConversion(String moneyStr) {//判断参数传来的数据是否符合进行转换的条件 int fractionDigits = moneyStr.length() - moneyStr.indexOf(DOT) - 1; boolean flag = true; if (fractionDigits > 2){ System.out.println("金额" + moneyStr + "的小数位多于两位。"); // 精度不能比分低 flag = false; } return flag; } public static void main(String args[]) { System.out.println("请输入金额数:"); Scanner scanner = new Scanner(System.in); String str = scanner.next(); System.out.println("转换后的金额为:"); System.out.println(getInstance().format(new Double(str))); } }
评论
    相关推荐
    • Java
      Java 对于Java练习
    • java
      Java Java基础
    • Java
      Java 我创建的Java项目
    • JAVA教程
      一本非常不错的清华大学java教程,讲解非常详细,看了就知道。
    • Java Cipher
      Java Cipher 加密和解密工具 附带源码 Java Cipher 加密和解密工具 附带源码 Java Cipher 加密和解密工具 附带源码 Java Cipher 加密和解密工具 附带源码
    • javabank
      Java银行 Java com的模拟操作将在bancárias上发布! 要求:Java 8。
    • java 李兴华
      java 李兴华 java 李兴华 java 李兴华 java 李兴华 java 李兴华 java 李兴华 java 李兴华 java 李兴华 java 李兴华 java 李兴华 java 李兴华 java 李兴华 java 李兴华 java 李兴华 java 李兴华 java 李兴华 java ...
    • Java204
      支持中文,支持动态注释的超强Java语言反编译器。 注意:Java204的工作目录中不能包含中文字符!! 支持现有所有Java环境产生的Class代码,而最重要的是它生成的源代码可读性极好,又充分考虑了国人的Java编码习惯,...
    • java程序
      java程序-吃点点java程序-吃点点java程序-吃点点java程序-吃点点java程序-吃点点java程序-吃点点
    • Java
      Java 2021/02/19 .java Main.java 学生.java Bmi.java 。班级 Bmi类 主类 MyBmi.class 学生班 学生样本类 2021/02/20 .java DeleteFile.java WriteFile.java MyDataPrint.java 。班级 DeleteFile.class ...