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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

微软Java面试题-按照字母排序

發布時間:2025/5/22 java 52 豆豆
生活随笔 收集整理的這篇文章主要介紹了 微软Java面试题-按照字母排序 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.對字符串進行排序,用任意一種編程語言來實現,不能使用現有的類,在排序中,字符串“Bc”,“Ad”,“aC”,“Hello”,“X man”,“little”,“During”,“day”能夠排序成 “Ad”,"aC",“Bc”,“During”,“day”,“Hello”,“little”,“Hello”,也就是說,在排序的過程并不是傳統的按照字符串排序,在排序中還需要將小寫字母一并排序,也就是說a字符串要在B或b之前。

查看復制到剪切板打印
  • import?java.util.Arrays; ??
  • import?java.util.Comparator; ??
  • ??
  • /** ?
  • ?*?微軟面試題-按照字母排序.<br> ?
  • ?*?小寫字母在大寫后面,字母B/b在字母A/a后面<br> ?
  • ?*? ?
  • ?*?@author?老紫竹?JAVA世紀網(java2000.net) ?
  • ?*? ?
  • ?*/??
  • class?T?{ ??
  • ??private?static?final?int?MASK?=?0xFFDF;?//?用來把小寫變成大寫 ??
  • ??
  • ??public?static?int?compare(String?o1,?String?o2)?{ ??
  • ????int?length1?=?o1.length(); ??
  • ????int?length2?=?o2.length(); ??
  • ????int?length?=?length1?>?length2???length2?:?length1; ??
  • ????int?c1,?c2; ??
  • ????int?d1,?d2; ??
  • ????for?(int?i?=?0;?i?<?length;?i++)?{ ??
  • ??????c1?=?o1.charAt(i); ??
  • ??????c2?=?o2.charAt(i); ??
  • ??????d1?=?c1?&?MASK; ??
  • ??????d2?=?c2?&?MASK; ??
  • ??????if?(d1?>?d2)?{ ??
  • ????????return?1; ??
  • ??????}?else?if?(d1?<?d2)?{ ??
  • ????????return?-1; ??
  • ??????}?else?{ ??
  • ????????if?(c1?>?c2)?{ ??
  • ??????????return?1; ??
  • ????????}?else?if?(c1?<?c2)?{ ??
  • ??????????return?-1; ??
  • ????????} ??
  • ??????} ??
  • ????} ??
  • ????if?(length1?>?length2)?{ ??
  • ??????return?1; ??
  • ????}?else?if?(length1?<?length2)?{ ??
  • ??????return?-1; ??
  • ????} ??
  • ????return?0; ??
  • ??} ??
  • ??
  • ??public?static?void?sortByPOPO(String[]?args)?{ ??
  • ????String?tmp; ??
  • ????for?(int?i?=?0;?i?<?args.length;?i++)?{ ??
  • ??????for?(int?j?=?i?+?1;?j?<?args.length;?j++)?{ ??
  • ????????if?(compare(args[i],?args[j])?>?0)?{ ??
  • ??????????tmp?=?args[i]; ??
  • ??????????args[i]?=?args[j]; ??
  • ??????????args[j]?=?tmp; ??
  • ????????} ??
  • ??????} ??
  • ????} ??
  • ????//?[Ad,?aC,?Bc,?During,?day,?Hello,?little,?X?man] ??
  • ????System.out.println(Arrays.toString(args)); ??
  • ??} ??
  • ??
  • ??public?static?void?main(String[]?args)?{ ??
  • ????String[]?strs?=?{?"Bc",?"Ad",?"aC",?"Hello",?"X?man",?"little",?"During", ??
  • ????????"day"?}; ??
  • ??
  • ????sortByPOPO(strs); ??
  • ??
  • ??} ??
  • }??
  • import java.util.Arrays; import java.util.Comparator;/*** 微軟面試題-按照字母排序.<br>* 小寫字母在大寫后面,字母B/b在字母A/a后面<br>* * @author 老紫竹 JAVA世紀網(java2000.net)* */ class T {private static final int MASK = 0xFFDF; // 用來把小寫變成大寫public static int compare(String o1, String o2) {int length1 = o1.length();int length2 = o2.length();int length = length1 > length2 ? length2 : length1;int c1, c2;int d1, d2;for (int i = 0; i < length; i++) {c1 = o1.charAt(i);c2 = o2.charAt(i);d1 = c1 & MASK;d2 = c2 & MASK;if (d1 > d2) {return 1;} else if (d1 < d2) {return -1;} else {if (c1 > c2) {return 1;} else if (c1 < c2) {return -1;}}}if (length1 > length2) {return 1;} else if (length1 < length2) {return -1;}return 0;}public static void sortByPOPO(String[] args) {String tmp;for (int i = 0; i < args.length; i++) {for (int j = i + 1; j < args.length; j++) {if (compare(args[i], args[j]) > 0) {tmp = args[i];args[i] = args[j];args[j] = tmp;}}}// [Ad, aC, Bc, During, day, Hello, little, X man]System.out.println(Arrays.toString(args));}public static void main(String[] args) {String[] strs = { "Bc", "Ad", "aC", "Hello", "X man", "little", "During","day" };sortByPOPO(strs);} }

    轉載于:https://www.cnblogs.com/hibernate3-example/archive/2009/02/21/2493040.html

    總結

    以上是生活随笔為你收集整理的微软Java面试题-按照字母排序的全部內容,希望文章能夠幫你解決所遇到的問題。

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