String

1.String 的截取

//操作的字符串
      String str="qeqwe:rwqr";
      //split截取,通過數(shù)組的方式
      String split[] = str.split(":");
      System.out.println(split[0]);
      System.out.println(split[1]);

2.統(tǒng)計(jì)字符個(gè)數(shù)

// 操作的字符串
        String str = "qwewqewqrsfdsfg";
        //將字符串轉(zhuǎn)換為byte數(shù)組
        byte[] bytes = str.getBytes();
        //外循環(huán),按下標(biāo)順序取1個(gè)
        for (int i = 0; i < bytes.length; i++) {
            //定義一個(gè)變量保存這個(gè)字符出現(xiàn)的次數(shù)
            int count = 0;
            for (int j = 0; j < bytes.length; j++) {
                // 如果一樣
                if (bytes[i] == bytes[j]) {
                    // 出現(xiàn)次數(shù)+1
                    count++;
                }
            }
            // 因?yàn)閎yte類型輸出是ASCII碼,所以強(qiáng)轉(zhuǎn)為char類型
            char c = (char) bytes[i];
            // 輸出
            // 一定是在內(nèi)循環(huán)結(jié)束后輸出,這樣下次外循環(huán)開始以后count就會清零
            System.out.println(c + " 有 " + count + " 個(gè) ");

        }

3.第一個(gè)重復(fù)

  String inputStr = "teterhrecd";  
      HashMap<String, String> hm = new HashMap<String, String>();  
      char[] c = inputStr.toCharArray();  
      boolean isEcho = false;  
      for(int i = 0 ; i < c.length; i++) {  
          for(int j = i+1 ; j < c.length; j++) {  
              if(c[i] == c[j]) {  
                  isEcho = true;  
                  hm.put(String.valueOf(c[i]), String.valueOf(c[i]));  
                  break;  
              }  
          }  
         /* if(isEcho||hm.get(String.valueOf(c[i])) == null) {  
              System.out.print("第一個(gè)重復(fù)的字符"+c[i]);  
              break;  
          }  */
          if(!isEcho&&hm.get(String.valueOf(c[i])) == null) {  
              System.out.print("第一個(gè)不重復(fù)的字符"+c[i]);  
              break;  
          }            
             isEcho = false;  
      }  

4.兩個(gè)字符串間的重復(fù)

Scanner in=new Scanner(System.in);
        String s1,s2;
        try{
        System.out.print("請輸入第一個(gè)字符串:");
        s1=in.nextLine();
        System.out.print("請輸入第二個(gè)字符串:");
        s2=in.nextLine();
        getSameChar(s1,s2);
        }
        catch(Exception e){
        e.printStackTrace();        }
        }
        public static void getSameChar(String s1,String s2){
        char c;//相同字符   
        char[] same=s1.toCharArray();//數(shù)組same用于控制:如果s1字符串中有相同的字符,則只輸出一次
        //如s1為aabc s2為a 則只輸出1次a 而不是兩次
        int count=0,j;//與數(shù)組same相關(guān)的變量
        int i,k;//循環(huán)變量
        System.out.println(s1+"與"+s2+"相同的字符有");
        for(i=0;i<s1.length();i++){
        c=s1.charAt(i);
        out:for(k=0;k<s2.length();k++){
        if(c==(s2.charAt(k))){
        for(j=0;j<count;j++){//如果字符c已經(jīng)被打印過,則直接跳出循環(huán),查找下一個(gè)
        if(c==same[j])
        break out;//跳出被out標(biāo)記的循環(huán)
        }//如果字符c是第一次出現(xiàn),則把它添加進(jìn)數(shù)組same
        same[count]=c;
        count++;
        //如果字符c是第一次出現(xiàn),將其打印出來
        if(c==' '){
        System.out.println("空格鍵");
        break;
        }
        System.out.println(c);
        break;
        }
        }
        }
        }
        }

5.字母數(shù)字判斷


         int numbers,capitalLetters,smallLetters,others;
            numbers=capitalLetters=smallLetters=others=0;           
            System.out.print("Please input a string:\n");
            Scanner s=new Scanner(System.in);
            String str=s.next();
            System.out.println("Your string is:"+str);

            for(int i=0;i<str.length();i++)
            {//每次截取一個(gè)字符
                char c=str.charAt(i);
                //循環(huán)判斷是否是小寫字母
            if(Character.isLowerCase(c))
            {           smallLetters++;
            }
            else if(Character.isDigit(c))
            {           numbers++;
            }
            else if(Character.isUpperCase(c))
            {           capitalLetters++;}
            else            {
            others++;
            }
            }
            System.out.println("數(shù)字 ="+numbers);
            System.out.println("大寫字母 ="+capitalLetters);
            System.out.println("小寫字母 ="+smallLetters);
            System.out.println("其他="+others);

            }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 今天學(xué)習(xí)了 Java 字符串的常用操作,寫出來和簡友們分享一下??還是老規(guī)矩,先上思維導(dǎo)圖。 1.String 概...
    SawyerZh閱讀 762評論 5 10
  • 在編寫程序的過程中,不了避免的要用到字符串,所以String類的常用方法的用法是必須掌握的。學(xué)習(xí)一個(gè)類的使用方法最...
    Geg_Wuz閱讀 1,304評論 0 4
  • longaaaa =14200666; Console.WriteLine(aaaa.ToString("N0")...
    魚落于天閱讀 949評論 0 1
  • 每個(gè)基本類型封裝類都有將string轉(zhuǎn)換為基本數(shù)據(jù)類型的方法對于非常大的數(shù)字請使用Long,代碼如下* 將char...
    暖熊熊閱讀 1,816評論 0 3
  • 嫂子嫁給我哥那年,我十五歲。我后邊還有個(gè)妹妹十一歲,堂妹一個(gè)四歲,一個(gè)三歲,堂弟一歲。一過年嫂子生下一個(gè)兒子,第二...
    A寒秋閱讀 837評論 34 12