日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java疯狂讲义第四章练习题

發(fā)布時間:2023/12/10 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java疯狂讲义第四章练习题 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1.按照取子字符串,中文占兩個字節(jié),英文占一個字節(jié)

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疯狂讲义第四章练习题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。