java編寫輸出一個字串中大寫英文字母數、小寫英文字母數以及非英文字母數
阿新 • • 發佈:2019-02-13
下面用了三種演算法實現,執行效率逐漸提高...
第一種:
public class TestString { public static void main(String[] args) { String s = "AdaaaaABBBBdkajfdkfj4dasdWWSDS53#$#addasdfkjsakfls_kjdksADKDJ"; int lCount = 0, uCount = 0, oCount = 0; for(int i = 0; i < s.length(); i++) { char c = s.charAt(i); if(c >= 'a' && c <= 'z') { lCount++; } else if(c >= 'A' && c <= 'Z') { uCount++; } else { oCount++; } } System.out.println(lCount + " " + uCount + " " + oCount); } }
第二種:
public class TestString { public static void main(String[] args) { String s = "AdaaaaABBBBdkajfdkfj4dasdWWSDS53#$#addasdfkjsakfls_kjdksADKDJ"; int lCount = 0, uCount = 0, oCount = 0; String sL = "abcdefghijklmnopqrstuvwxyz"; String sU = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; for(int i = 0; i <s.length(); i++) { char c = s.charAt(i); if(sL.indexOf(c) != -1) { lCount++; } else if(sU.indexOf(c) != -1) { uCount++; } else { oCount++; } } System.out.println(lCount + " " + uCount + " " + oCount); } }
第三種:public class TestString { public static void main(String[] args) { String s = "AdaaaaABBBBdkajfdkfj4dasdWWSDS53#$#addasdfkjsakfls_kjdksADKDJ"; int lCount = 0, uCount = 0, oCount = 0; for(int i = 0; i < s.length(); i++) { char c = s.charAt(i); if(Character.isLowerCase(c)) { lCount++; } else if(Character.isUpperCase(c)) { uCount++; } else { oCount++; } } System.out.println(lCount + " " + uCount + " " + oCount); } }