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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > java >内容正文

java

java默认字符串排序规则_Java 字符串排序--------请对一组字符串进行排序,字符串由大小写字母和数字组成,需要满足一下比较规则...

發(fā)布時(shí)間:2024/8/1 java 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java默认字符串排序规则_Java 字符串排序--------请对一组字符串进行排序,字符串由大小写字母和数字组成,需要满足一下比较规则... 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

題目描述

請(qǐng)對(duì)一組字符串進(jìn)行排序,字符串由大小寫字母和數(shù)字組成,需要滿足一下比較規(guī)則

長度不同時(shí),長度較短在排前面。

長度相同時(shí),按照字典順序排列(AaBb-Zz,0-9順序),即大寫字母在小寫字母前,數(shù)字排在字母后。

例:

abc Abc 123 1 1bc CBD abcd a

排序后結(jié)果為:

a 1 Abc abc CBD 1bc 123 abcd

代碼如下

public class test{

public static void main(String[] args) {

String str [] = {"abc","Abc","123","1","1cb","CBD","abcd","a"};// 需要排序的字符串

for(int i=0;is2.length()) {

return true;

}else {

if(compare(s1,s2)) { //若字符串長度相同則利用fun函數(shù)進(jìn)行判斷

return true ;

}

}

return false;

}

public static boolean compare(String s1,String s2) {

if(s1.equals(s2)) { //判斷倆個(gè)字符串是否相同

return false ;

}

for(int i=0;i='A'&&s1.charAt(i)<='Z')&&(s2.charAt(i)>='a'&&s2.charAt(i)<='z')) {//s1 大寫 s2小寫

if(s1.charAt(i)>s2.charAt(i)-32) {

return true ;

}else if(s1.charAt(i)==s2.charAt(i)-32) {

return true ;

}else {

return false ;

}

}

if((s1.charAt(i)>='a'&&s1.charAt(i)<='z')&&(s2.charAt(i)>='A'&&s2.charAt(i)<='Z')) {//s1小寫 s2大寫

if(s1.charAt(i)-32>s2.charAt(i)) {

return true ;

}else if(s1.charAt(i)-32==s2.charAt(i)) {

return true ;

}else {

return false ;

}

}

if((s1.charAt(i)>='A'&&s1.charAt(i)<='Z')&&(s2.charAt(i)>='A'&&s2.charAt(i)<='Z')) { //同大寫

if(s1.charAt(i)>s2.charAt(i)) {

return true ;

}else if(s1.charAt(i)==s2.charAt(i)) {

continue;

}else {

return false;

}

}

if((s1.charAt(i)>='a'&&s1.charAt(i)<='z')&&(s2.charAt(i)>='a'&&s2.charAt(i)<='z')) { //同小寫

if(s1.charAt(i)>s2.charAt(i)) {

return true ;

}else if(s1.charAt(i)==s2.charAt(i)) {

continue;

}else {

return false;

}

}

if(s1.charAt(i)

解題思路

思路基本和冒泡排序相同,若前者的字符串長度大于后者,或前者的字典序大于后者則進(jìn)行位置互換。首先利用longs函數(shù)來判斷字符串的長度,若長度相同則利用compare函數(shù)進(jìn)行判斷,首先用equals判斷是否相同,用charAt來讀取單個(gè)字符進(jìn)行比較,當(dāng)s1,s2同為大寫或小寫,s1,s2有一個(gè)大寫有一個(gè)小寫時(shí),情況比較復(fù)雜,用if函數(shù)判斷。

此代碼為小編自己一人所寫,若發(fā)現(xiàn)代碼有誤,請(qǐng)私聊? ? ?勿噴!!!!

總結(jié)

以上是生活随笔為你收集整理的java默认字符串排序规则_Java 字符串排序--------请对一组字符串进行排序,字符串由大小写字母和数字组成,需要满足一下比较规则...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。