1. 程式人生 > >java編寫輸出一個字串中大寫英文字母數、小寫英文字母數以及非英文字母數

java編寫輸出一個字串中大寫英文字母數、小寫英文字母數以及非英文字母數

        下面用了三種演算法實現,執行效率逐漸提高...

第一種:

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);
	}
}