轉(zhuǎn)換為字符數(shù)組后,篩選出控制臺讀取到的字符串中的大寫字母和數(shù)字,并打印出來 。
public class TestNumber {public static void main(String[] args) {Scanner sc = new Scanner(System.in);String str = sc.next();char []cs = str.toCharArray();System.out.println(String.valueOf(cs));System.out.println(Arrays.toString(cs));String str2 = "";for(int i = 0;i < str.length();i++){if(Character.isDigit(cs[i]) || Character.isUpperCase(cs[i]))str2 += cs[i];}System.out.println(str2);}}
9.6 字符串*
創(chuàng)建字符串字符串即字符的組合,在Java中,字符串是一個類,所以我們見到的字符串都是對象 常見創(chuàng)建字符串手段:
每當有一個字面值出現(xiàn)的時候 , 虛擬機就會創(chuàng)建一個字符串 。調(diào)用String的構(gòu)造方法創(chuàng)建一個字符串對象 。通過+加號進行字符串拼接也會創(chuàng)建新的字符串對象 。public class TestString {public static void main(String[] args) {String garen ="蓋倫"; //字面值,虛擬機碰到字面值就會創(chuàng)建一個字符串對象String teemo = new String("提莫"); //創(chuàng)建了兩個字符串對象char[] cs = new char[]{'崔','斯','特'};String hero = new String(cs);//通過字符數(shù)組創(chuàng)建一個字符串對象String hero3 = garen + teemo;//通過+加號進行字符串拼接}}
String 被修飾為final,所以是不能被繼承的/*這里會報錯,因為String不能被繼承*/static class MyString extends String{ }
immutable - 不可改變的比如創(chuàng)建了一個字符串對象 String garen ="蓋倫";
不可改變的具體含義是指:
不能增加長度不能減少長度不能插入字符不能刪除字符不能修改字符一旦創(chuàng)建好這個字符串 , 里面的內(nèi)容 永遠 不能改變,String 的表現(xiàn)就像是一個常量 。
字符串格式化//%s表示字符串,%d表示數(shù)字,%n表示換行String sentenceFormat ="%s 在進行了連續(xù) %d 次擊殺后,獲得了 %s 的稱號%n";String sentence2 = String.format(sentenceFormat, name,kill,title);練習(xí)1-隨機字符串創(chuàng)建一個長度是5的隨機字符串,隨機字符有可能是數(shù)字 , 大寫字母或者小寫字母 。
public class TestNumber {public char get_char(){/*0-9 corresponds to Ascii 48-57*A-Z 65-90*a-z 97-122* */Random random = new Random();//隨機生成122-48范圍類的ascii碼int num;switch (random.nextInt(3)){//獲取數(shù)字asciicase 0:num = random.nextInt(58-48) + 48;break;//獲取大寫字母case 1:num = random.nextInt(91-65) + 65;break;case 2:num = random.nextInt(123 - 97) + 97;break;default:num = 48;}char c = (char)num;return c;}public String get_String(int length){String str = "";for(int i = 0;i < length;i++){str += get_char();}return str;}public static void main(String[] args) {TestNumber t = new TestNumber();String str = t.get_String(5);System.out.println(str);}}
練習(xí)2 - 字符串數(shù)組排序public String[] stringDataGroup_sort(String[] strings) {/*字符串數(shù)組排序按首字母排序**/for (int i = 0; i < strings.length - 1; i++) {for (int j = i + 1; j < strings.length; j++) {char str1 = strings[i].charAt(0);char str2 = strings[j].charAt(0);int num1 = str1;int num2 = str2;if (num1 > num2) {String string = strings[i];strings[i] = strings[j];strings[j] = string;}}}return strings;}public static void main(String[] args) {TestNumber t = new TestNumber();String []strs = new String[8];for (int i = 0;i < 8;i++){strs[i] = t.get_String(5);}System.out.println(Arrays.toString(strs));String[] sorted_str = t.stringDataGroup_sort(strs);System.out.println(Arrays.toString(sorted_str));}
練習(xí)3 - 窮舉法破解密碼生成一個長度是3的隨機字符串,把這個字符串作為當做密碼使用窮舉法生成長度是3個字符串,匹配上述生成的密碼要求: 使用 遞歸解決 上述問題
推薦閱讀
- aoc紅酒 什么意思
- 蟻酸是什么酸 乙酸
- 淀粉水解產(chǎn)物 淀粉水解產(chǎn)物是什么
- 黑眼圈是什么梗 黑眼圈的梗
- 四個木字疊起來讀什么 四個木是什么字
- 月亮有陰晴圓缺是什么現(xiàn)象引起的 月亮有陰晴圓缺是怎么引起的
- 瓦斯是什么 瓦斯是什么東西
- 結(jié)婚9周年是什么婚 結(jié)婚9周年又叫什么
- 上巳節(jié)是哪天 上巳節(jié)是什么時候
- 生育津貼怎么算 生育保險什么意思
