作业1—java基础实验——参考答案.docx_第1页
作业1—java基础实验——参考答案.docx_第2页
作业1—java基础实验——参考答案.docx_第3页
作业1—java基础实验——参考答案.docx_第4页
作业1—java基础实验——参考答案.docx_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、从键盘上输入10个整数,并将其放入一个一维数组中,然后将其前5个元素与后5个元素对换,即:第1个元素与第10个元素互换,第2个元素与第9个元素互换第5个元素与第6个元素互换。分别输出数组原来各元素的值和对换后各元素的值。参考答案具体代码实现如下:1. packageprograme; 2. 3. importjava.io.BufferedReader; 4. importjava.io.IOException; 5. importjava.io.InputStreamReader; 6. 7. publicclassHuHuanDemo 8. publicstaticvoidmain(Stringargs) 9. print(); 10. 11. 12. 13. publicstaticintwrite() 14. BufferedReaderbuf=newBufferedReader10;/*申请缓冲数组*/15. intn;/*开关量和中间量*/16. intarray=newint10; 17. for(inti=0;i10;i+)/*赋值*/18. 19. bufi=newBufferedReader(newInputStreamReader(System.in); 20. /*给每个缓冲区定义*/21. do/*判断是否是空串,如是则重新输入*/22. 23. n=1; 24. System.out.print(请输入第+(i+1)+个整数:); 25. try/*建立一个异常捕获*/26. 27. arrayi=Integer.parseInt(bufi.readLine();/*执行串变整数*/28. /* 29. *Integer.parseInt(str)-str转成int型bufi.readLine()- 30. *从系统输入缓冲区读入字符流给buf缓冲区并返回字符串 31. */32. catch(NumberFormatExceptione)/*捕获异常*/33. 34. System.out.println(数据输入错误请重新输入);/*处理异常*/35. n=0; 36. catch(IOExceptione) 37. e.printStackTrace(); 38. 39. while(n=0); 40. 41. returnarray; 42. 43. 44. 45. publicstaticvoidprint() 46. intary=write(); 47. ints; 48. System.out.println(n你输入的数组是:); 49. for(inti=0;i10;i+)/*输出原数组*/50. 51. System.out.print(aryi+); 52. 53. for(inti=0;i5;i+)/*对换*/54. 55. s=aryi; 56. aryi=ary9-i; 57. ary9-i=s; 58. 59. 60. System.out.println(n对换后的数组是:); 61. for(inti=0;i10;i+)/*输出对换后数组*/62. 63. System.out.print(aryi+); 64. 65. System.out.println(); 66. 67. 68. 69. 程序输出的结果如图17.2所示。2、金额转换,阿拉伯数字的金额转换成中国传统的形式如:(¥1011)(壹仟零壹拾壹元整)输出。试题分析金额转换,在开发财务相关软件时会经常用到,也是软件本地化的一个需要。一般开发公司或者团队都有相应的金额转换类或者是模块,配合报表工具,可以实现良好的本地化参考答案具体代码实现如下:1. packageprograme; 2. importjava.text.NumberFormat; 3. importjava.util.HashMap; 4. importjava.util.Scanner; 5. publicclassAmountOfConversion 6. /定义HashMap的value值 7. publicstaticfinalStringEMPTY=; 8. publicstaticfinalStringZERO=零; 9. publicstaticfinalStringONE=壹; 10. publicstaticfinalStringTWO=贰; 11. publicstaticfinalStringTHREE=叁; 12. publicstaticfinalStringFOUR=肆; 13. publicstaticfinalStringFIVE=伍; 14. publicstaticfinalStringSIX=陆; 15. publicstaticfinalStringSEVEN=柒; 16. publicstaticfinalStringEIGHT=捌; 17. publicstaticfinalStringNINE=玖; 18. publicstaticfinalStringTEN=拾; 19. publicstaticfinalStringHUNDRED=佰; 20. publicstaticfinalStringTHOUSAND=仟; 21. publicstaticfinalStringTEN_THOUSAND=万; 22. publicstaticfinalStringHUNDRED_MILLION=亿; 23. publicstaticfinalStringYUAN=元; 24. publicstaticfinalStringJIAO=角; 25. publicstaticfinalStringFEN=分; 26. publicstaticfinalStringDOT=.; 27. privatestaticAmountOfConversionformatter=null;/创建AmountOfConversion的实例对象 28. /创建初始化一个HashMap对象 29. privateHashMapNumberMap=newHashMap(); 30. privateHashMapHighnumberofMoney=newHashMap(); 31. /创建初始化一个NumberFormat对象 32. privateNumberFormatnumberFormat=NumberFormat.getInstance(); 33. privateAmountOfConversion() 34. /在用new创建AmountOfConversion对象时,为HashMap对象进行key-value的映射 35. numberFormat.setMaximumFractionDigits(4);/设置数据的小数部分的最大位数是4位 36. numberFormat.setMinimumFractionDigits(2);/设置数据的小数部分的最小位数是2位 37. numberFormat.setGroupingUsed(false);/*设置此格式中是不可以使用组。如果设置可以使用组,则数1234567可能被格式化为1,234,567*/38. NumberMap.put(0,ZERO); 39. NumberMap.put(1,ONE); 40. NumberMap.put(2,TWO); 41. NumberMap.put(3,THREE); 42. NumberMap.put(4,FOUR); 43. NumberMap.put(5,FIVE); 44. NumberMap.put(6,SIX); 45. NumberMap.put(7,SEVEN); 46. NumberMap.put(8,EIGHT); 47. NumberMap.put(9,NINE); 48. NumberMap.put(DOT,DOT); 49. HighnumberofMoney.put(1,TEN); 50. HighnumberofMoney.put(2,HUNDRED); 51. HighnumberofMoney.put(3,THOUSAND); 52. HighnumberofMoney.put(4,TEN_THOUSAND); 53. HighnumberofMoney.put(5,TEN); 54. HighnumberofMoney.put(6,HUNDRED); 55. HighnumberofMoney.put(7,THOUSAND); 56. HighnumberofMoney.put(8,HUNDRED_MILLION); 57. 58. publicstaticAmountOfConversiongetInstance()/判断AmountOfConversion对象formatter是否初始化 59. if(formatter=null) 60. formatter=newAmountOfConversion(); 61. returnformatter; 62. 63. /进行金额转换的多种数据类型 64. publicStringformat(StringmoneyStr) 65. Stringresult=不能进行金额转换!; 66. if(isConversion(moneyStr) 67. result=convertIntegerTochinese(moneyStr); 68. result=convertPointTochinese(result); 69. 70. returnresult; 71. 72. publicStringformat(doublemoneyDouble) 73. returnformat(numberFormat.format(moneyDouble); 74. 75. publicStringformat(intmoneyInt) 76. returnformat(numberFormat.format(moneyInt); 77. 78. publicStringformat(longmoneyLong) 79. returnformat(numberFormat.format(moneyLong); 80. 81. publicStringformat(NumbermoneyNum) 82. returnformat(numberFormat.format(moneyNum); 83. 84. privateStringconvertIntegerTochinese(StringmoneyStr)/将参数中传入的阿拉伯数字转换成中文 85. Stringresult; 86. StringBufferC2CStrBufer=newStringBuffer(); 87. for(inti=0;i0;i-) 95. C2CStrBufer.insert(i,HighnumberofMoney.get(EMPTY 96. +moneyPatternCursor); 97. moneyPatternCursor=moneyPatternCursor=8?198. :moneyPatternCursor+1; 99. 100. StringfractionPart=C2CStrBufer.substring(C2CStrBufer 101. .indexOf(.); 102. C2CStrBufer.delete(C2CStrBufer.indexOf(.), 103. C2CStrBufer.length(); 104. while(C2CStrBufer.indexOf(零拾)!=-1) 105. C2CStrBufer.replace(C2CStrBufer.indexOf(零拾), 106. C2CStrBufer.indexOf(零拾)+2,ZERO); 107. 108. while(C2CStrBufer.indexOf(零佰)!=-1) 109. C2CStrBufer.replace(C2CStrBufer.indexOf(零佰), 110. C2CStrBufer.indexOf(零佰)+2,ZERO); 111. 112. while(C2CStrBufer.indexOf(零仟)!=-1) 113. C2CStrBufer.replace(C2CStrBufer.indexOf(零仟), 114. C2CStrBufer.indexOf(零仟)+2,ZERO); 115. 116. while(C2CStrBufer.indexOf(零万)!=-1) 117. C2CStrBufer.replace(C2CStrBufer.indexOf(零万), 118. C2CStrBufer.indexOf(零万)+2,TEN_THOUSAND); 119. 120. while(C2CStrBufer.indexOf(零亿)!=-1) 121. C2CStrBufer.replace(C2CStrBufer.indexOf(零亿), 122. C2CStrBufer.indexOf(零亿)+2,HUNDRED_MILLION); 123. 124. while(C2CStrBufer.indexOf(零零)!=-1) 125. C2CStrBufer.replace(C2CStrBufer.indexOf(零零), 126. C2CStrBufer.indexOf(零零)+2,ZERO); 127. 128. if(C2CStrBufer.lastIndexOf(ZERO)=C2CStrBufer.length()-1) 129. C2CStrBufer.delete(C2CStrBufer.length()-1, 130. C2CStrBufer.length(); 131. C2CStrBufer.append(fractionPart); 132. result=C2CStrBufer.toString(); 133. returnresult; 134. 135. privateStringconvertPointTochinese(StringmoneyStr)/对小数点后面的数字进行汉字处理 136. Stringresult; 137. StringBufferC2CStrBufer=newStringBuffer(moneyStr); 138. intindexOfDot=C2CStrBufer.indexOf(DOT); 139. C2CStrBufer.replace(indexOfDot,indexOfDot+1,YUAN); 140. C2CStrBufer.insert(C2CStrBufer.length()-1,JIAO); 141. C2CStrBufer.insert(C2CStrBufer.length(),FEN); 142. if(C2CStrBufer.indexOf(零角零分)!=-1)/没有零头,加整 143. C2CStrBufer.replace(C2CStrBufer.indexOf(零角零分), 144. C2CStrBufer.length(),整); 145. elseif(C2CStrBufer.indexOf(零分)!=-1)/没有零分,加整 146. C2CStrBufer.replace(C2CStrBufer.indexOf(零分), 147. C2CStrBufer.length(),整); 148. else 149. if(C2CStrBufer.indexOf(零角)!=-1)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论