1. 程式人生 > >String相關練習

String相關練習

char 數組 false charat == isempty 方法的參數 大寫 demo

1.用代碼演示String類中的以下方法的用法
(1)boolean isEmpty(): 判斷字符串是不是空串,如果是空的就返回true
(2)char charAt(int index): 返回索引上的字符
(3)String toLowerCase(): 字符串轉成小寫
(4)String toUpperCase(): 字符串轉成大寫
(5)String repalce(char oldChar, char newChar): 將字符串中的老字符,替換為新字符
(6)String repalce(String old, String newstr): 將字符串中的老字符串,替換為新字符串

(7)String trim(): 去掉字符串兩端空格

2.分析以下需求,並用代碼實現:
(1)定義如下方法public static String getPropertyGetMethodName(String property);
(2)該方法的參數為String類型,表示用戶給定的成員變量的名字,返回值類型為String類型,返回值為成員變量對應的get方法的名字
(3)如:用戶調用此方法時給定的參數為"name",該方法的返回值為"getName"

3.分析以下需求,並用代碼實現:
(1)定義數字字符串數組{"010","3223","666","7890987","123123"}
(2)判斷該數字字符串數組中的數字字符串是否是對稱(第一個數字和最後一個數字相等,第二個數字和倒數第二個數字是相等的,依次類推)的,並逐個輸出
(3)如:010 是對稱的,3223 是對稱的,123123 不是對稱的
(4)最終打印該數組中對稱字符串的個數

提示:循環獲取字符串的每一個字符,依次比較第一個和最後一個,第二個和倒數第二個。。。

4.分析以下需求,並用代碼實現:
(1)從鍵盤循環錄入錄入一個字符串,輸入"end"表示結束
(2)將字符串中大寫字母變成小寫字母,小寫字母變成大寫字母,其它字符用"*"代替,並統計字母的個數
舉例:
鍵盤錄入:Hello12345World
輸出結果:hELLO*****wORLD
總共10個字母

5.分析以下需求,並用代碼實現:
(1)從鍵盤循環錄入錄入一個字符串,輸入"end"表示結束
(2)定義一個方法
public Object[] deleteSubString(String str1,String str2) {

}
(3)方法功能描述:從str1中刪除所有的str2,並返回刪除後的結果,返回結果為Object[]數組
* 該數組的第一個元素為刪除所有的str2後的最終的字符串
* 該數組的第二個元素為刪除的str2的個數

6.關於String類的練習題,分析運行結果?
public class Test01 {
public static void main(String[] args) {
//demo1();
//demo2();
//demo3();
//demo4();
demo5();
}
private static void demo5() {
String s1 = "ab";
String s2 = "abc";
String s3 = s1 + "c";
System.out.println(s3 == s2);
System.out.println(s3.equals(s2)); //true
}
private static void demo4() {
//byte b = 3 + 4; //在編譯時就變成7,把7賦值給b,常量優化機制
String s1 = "a" + "b" + "c";//java中有常量優化機制,在編譯時期就能確定s2的值為"abc",所以編譯時期,在常量池中創建"abc"
String s2 = "abc";//執行到這裏時常量池中已經有了"abc",所以就不再創建,所以s1和s2指向的是常量池中同一個字符串常量"abc"
System.out.println(s1 == s2); //true,java中有常量優化機制
System.out.println(s1.equals(s2)); //true
}
private static void demo3() {//==比較的是地址值
String s1 = new String("abc"); //錄的是堆內存對象的地址值
String s2 = "abc"; //記錄的是常量池中的地址值
System.out.println(s1 == s2); //false
System.out.println(s1.equals(s2)); //true
}
private static void demo2() {
//創建幾個對象
//創建兩個對象,一個在常量池中,一個在堆內存中
String s1 = new String("abc");
System.out.println(s1);
}
private static void demo1() { //常量池中沒有這個字符串對象,就創建一個,如果有直接用即可
String s1 = "abc";
String s2 = "abc";
System.out.println(s1 == s2); //==號比較的是地址值,true
System.out.println(s1.equals(s2)); //比較的是字符串的內容:true
}
}

7.練習今日課堂中的案例

String相關練習