一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專(zhuān)注于服務(wù)器技術(shù)及軟件下載分享
分類(lèi)導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語(yǔ)言|JavaScript|易語(yǔ)言|vb.net|

服務(wù)器之家 - 編程語(yǔ)言 - Java教程 - Java探索之string字符串的應(yīng)用代碼示例

Java探索之string字符串的應(yīng)用代碼示例

2021-01-25 12:04書(shū)思BookReflect Java教程

這篇文章主要介紹了Java探索之string字符串的應(yīng)用代碼示例,具有一定參考價(jià)值,需要的朋友可以了解下。

String類(lèi)中提供了豐富的用于操作字符串的方法。

int indexOf(String str)

該方法用于返回當(dāng)給定字符串在當(dāng)前字符串中的位置,若當(dāng)前字符串不包含給定字符串則返回-1。

重載的方法

int indexOf(String str,int formIndex),從指定下標(biāo)處(包含)查詢(xún)子串,返回返回當(dāng)給定字符串在當(dāng)前字符串中的位置,若當(dāng)前字符串不包含給定字符串則返回-1。

用自己的算法實(shí)現(xiàn)startsWith和endsWith功能。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
package com.hz.practice;
/**
 * 1. 用自己的算法實(shí)現(xiàn)startsWith和endsWith功能。
 * @author ztw
 *
 */
public class Practice01 {
  public static void main(String[] args) {
    String str = string">"qwewrewr";
//   boolean temp = str.endsWith("r");
//   System.out.println(temp);
    /*
     * startsWith
     */
    char[] arr = str.toCharArray();
    char c = 'r';
    if(arr[0]==c){
      System.out.println("true");
    }else{
      System.out.println("false");
    }
    /*
     * endsWith
     */
    if(arr[arr.length-1]==c){
      System.out.println("true");
    }else{
      System.out.println("false");
    }
  }
}

輸出結(jié)果:

?
1
2
false
true

2.采用字符的移位方式實(shí)現(xiàn)字符文本加密解密。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
package com.hz.practice;
import java.util.Scanner;
/**
 * 2.采用字符的移位方式實(shí)現(xiàn)字符文本加密解密。
 * @author ztw
 *
 */
public class Practice02 {
  public static void main(String[] args) {
    System.out.println("請(qǐng)輸入一個(gè)字符串");
    Scanner sc =new Scanner(System.in);
    String str1 = new String();
    str1=sc.nextLine();   
    System.out.println(str1.replaceAll("a", "1.")
        .replaceAll("b", "2.").replaceAll("c", "3.")
        .replaceAll("d", "4.").replaceAll("e", "5.")
        .replaceAll("f", "6.").replaceAll("g", "7.")
        .replaceAll("h", "8.").replaceAll("i", "9.")
        .replaceAll("j", "10.").replaceAll("k", "11.")
        .replaceAll("l", "12.").replaceAll("m", "13.")
        .replaceAll("n", "14.").replaceAll("o", "15.")
        .replaceAll("p", "16.").replaceAll("q", "17.")
        .replaceAll("r", "18.").replaceAll("s", "19.")
        .replaceAll("t", "20.").replaceAll("u", "21.")
        .replaceAll("v", "22.").replaceAll("w", "23.")
        .replaceAll("x", "24.").replaceAll("y", "25.")
        .replaceAll("z", "26."));
  }
}

輸出結(jié)果:

?
1
2
3
請(qǐng)輸入一個(gè)字符串
asdsddffg
1.19.4.19.4.4.6.6.7.

3.驗(yàn)證是隨機(jī)生成4位驗(yàn)證碼,由用戶(hù)輸入并否輸入正確, 如果輸入錯(cuò)誤就生成新的驗(yàn)證碼讓用戶(hù)重新輸入,最多輸入5次!

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
package com.hz.practice;
import java.util.Random;
import java.util.Scanner;
/**
 * 3.驗(yàn)證是隨機(jī)生成4位驗(yàn)證碼,由用戶(hù)輸入并否輸入正確,
 * 如果輸入錯(cuò)誤就生成新的驗(yàn)證碼讓用戶(hù)重新輸入,最多輸入5次
 * @author ztw
 *
 */
public class Practice03 {
  public static void main(String[] args) {
    String str="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
    char[]arr=new char[4];//定義一個(gè)長(zhǎng)度是4的char型數(shù)組
    Random sj=new Random();
    System.out.println("驗(yàn)證碼是:");
    for(int i=0;i<4;i++)
    {
      arr[i]=str.charAt(sj.nextInt(61));//從str中隨機(jī)截取4個(gè)單個(gè)字符并賦值給arr這個(gè)數(shù)組存放
    }
    System.out.println(arr);
    Scanner sc=new Scanner(System.in);
    System.out.println("請(qǐng)輸入驗(yàn)證碼");
    String a=new String(arr);//把數(shù)組轉(zhuǎn)換成字符串
    //定義輸入次數(shù)
    for(int j=0;j<5;j++)
    {
      if(sc.nextLine().equals(a))
      {
        System.out.println("驗(yàn)證碼輸入正確");
      }
      else
      {
        System.out.println("驗(yàn)證碼輸入有誤,請(qǐng)重新輸入");
        if(j<=3)
        {
          System.out.print("請(qǐng)輸入驗(yàn)證碼");
          for(int i=0;i<4;i++)
          {
            arr[i]=str.charAt(sj.nextInt(61));//從str中隨機(jī)截取4個(gè)單個(gè)字符并賦值給arr這個(gè)數(shù)組存放
          }
          System.out.println(arr);
          a=new String (arr);
        }
        else
        {
          System.out.println("輸入有誤,對(duì)不起,5次機(jī)會(huì)已用完");
        }
      }
    }
  }
}

輸出結(jié)果:

?
1
2
3
4
5
驗(yàn)證碼是:
AVA8
請(qǐng)輸入驗(yàn)證碼
AVA8
驗(yàn)證碼輸入正確
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
package com.hz.practice;
 
/**
 * 4.獲取一個(gè)字符串在另一個(gè)字符串中出現(xiàn)的次數(shù)
  思路:
  1.定義一個(gè)計(jì)數(shù)器。
  2.獲取子串第一次出現(xiàn)的位置
  3.從第一次出現(xiàn)的位置后剩余的字符串中繼續(xù)獲取子串出現(xiàn)的位置,每獲取一次計(jì)數(shù)器加1
  4,當(dāng)獲取不到時(shí),計(jì)數(shù)完成
 * @author ztw
 *
 */
public class Practice04 {
 
  public static void main(String[] args) {
 
    String str1 = "asdasdas";
    String str2 = "as";
    //1.定義一個(gè)計(jì)數(shù)器。
    int total = 0;
    for (String temp = str1; temp!=null &&
        temp.length()>=str2.length();) {
      //2.獲取子串第一次出現(xiàn)的位置
      if(temp.indexOf(str2) == 0){
        //3.從第一次出現(xiàn)的位置后剩余的字符串中繼續(xù)獲取子串出現(xiàn)的位置,每獲取一次計(jì)數(shù)器加1
        total ++;
      }
      temp = temp.substring(1);
      System.out.print(temp+", ");
    }
    //4,當(dāng)獲取不到時(shí),計(jì)數(shù)完成
    System.out.println("計(jì)數(shù)完成:"+total);
  }
}

輸出結(jié)果:

?
1
sdasdas, dasdas, asdas, sdas, das, as, s, 計(jì)數(shù)完成:3
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
package com.hz.practice;
/**
 * 5.獲取兩個(gè)子串中最大相同子串
   思路:
   1.將短的哪個(gè)子串按照長(zhǎng)度遞減的方式獲取到
   2.將每次獲取到的子串去長(zhǎng)串中判斷是否包含,如果包含,已經(jīng)找到
 * @author ztw
 *
 */
public class Practice05 {
   public static String getMaxSubString(String s1,String s2) {
      String max = "",min = "";
      max = (s1.length()>s2.length())?s1: s2;
      min = (max==s1)?s2: s1;   
//     sop("max="+max+"...min="+min);
      for(int x=0; x<min.length(); x++)
      {
        for(int y=0,z=min.length()-x; z!=min.length()+1; y++,z++)
        {
          String temp = min.substring(y,z);        
          sop(temp);
          if(max.contains(temp))//if(s1.indexOf(temp)!=-1)
            return temp;
        }
      }
      return "";
    }
    public static void main(String[] args) 
    {
      String s1 = "ab";
      String s2 = "cvhellobnm";
      sop(getMaxSubString(s2,s1));
    }
    public static void sop(String str)
    {
      System.out.print(str+", ");
    }
}

輸出結(jié)果:

?
1
ab, a, b, b,
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
package com.hz.practice;
import java.util.Scanner;
/**
 * 6、寫(xiě)一個(gè)方法判斷一個(gè)字符串是否對(duì)稱(chēng)
 * @author ztw
 *
 */
public class Practice06 {
  public static void main(String[] args){
    Scanner input = new Scanner(System.in);
    String str = input.next();//接收任意字符串
    isOk1(str);           
}
  /**
   * 判斷字符串是否對(duì)稱(chēng)的方法(一)
   * 通過(guò)取取索引對(duì)應(yīng)值來(lái)進(jìn)行一一比對(duì)
   * @param str
   */
  public static void isOk1(String str){
      boolean result = true;
      int count =(str.length()-1)/2;
      for (int x=0;x<=count;x++ ){
          if(str.charAt(x)!=str.charAt(str.length()-1-x)){
              result = false;
              break;
          }
      }
      if(!result)
          System.out.println("該字符串是不對(duì)稱(chēng)的");
      else
          System.out.println("該字符串是對(duì)稱(chēng)的");
  }
  /*
   * public static void main(String[] args){
        Scanner input = new Scanner(System.in);
      String str = input.next();//接收任意字符串
          if (isOk2(str)==true) {
            System.out.println("真,對(duì)稱(chēng)!");
        }else{
            System.out.println("假,不對(duì)稱(chēng)!");
        }
    }
    /**
     * 方法二
     * 通過(guò)String加強(qiáng)類(lèi)中的取反方法reverse獲取其逆向值
     * 再與原字符串相比是否相等!
     * 等于則返回TRUE,否則FALSE
     * @param str
     * @return
     */
  /*
    public static boolean isOk2(String str){
        StringBuffer sb = new StringBuffer(str);
        String str2 = sb.reverse().toString();
        return str.equals(str2);
    }
   */
}

輸出結(jié)果:

?
1
2
asdsa
該字符串是對(duì)稱(chēng)的
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
package com.hz.practice;
/**
 *
  9、編寫(xiě)一個(gè)程序,將下面的一段文本中的各個(gè)單詞的字母順序翻轉(zhuǎn),
  “To be or not to be",將變成"oT eb ro ton ot eb."。
 * @author ztw
 *
 */
public class Practice09 {
  public static void main(String[] args) {
    String str = "To be or not to be";
    String[] str2 = str.split(" ");
    for (int i = 0; i < str2.length; i++) {
      char[] ci = str2[i].toCharArray();
      System.out.print(" ");
      for (int j = ci.length-1; j >= 0 ; j--) {
        System.out.print(ci[j]);
      }
    }
  }
}
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
package com.hz.practice;
/**
 * 10、已知字符串:"this is a test of java".
  按要求執(zhí)行以下操作:
  (1) 統(tǒng)計(jì)該字符串中字母s出現(xiàn)的次數(shù)
  (2) 取出子字符串"test"
  (3) 用多種方式將本字符串復(fù)制到一個(gè)字符數(shù)組Char[] str中.
  (4) 將字符串中每個(gè)單詞的第一個(gè)字母變成大寫(xiě), 輸出到控制臺(tái)。
  (5) 用兩種方式實(shí)現(xiàn)該字符串的倒敘輸出。(用StringBuffer和for循環(huán)方式分別實(shí)現(xiàn))
  (6) 將本字符串轉(zhuǎn)換成一個(gè)字符串?dāng)?shù)組,要求每個(gè)數(shù)組元素都是一個(gè)有意義的額英文單詞,并輸出到控制臺(tái)
 * @author ztw
 *
 */
public class Practice10 {
  public static void main(String[] args) {
    String str = "this is a test of java";
//   (1) 統(tǒng)計(jì)該字符串中字母s出現(xiàn)的次數(shù)
    int count = 0;
    for (int i = 0; i < str.length(); i++) {
      if(str.charAt(i)=='s'){
        count++;
      }
    }
    System.out.println("字符串中字母s出現(xiàn)的次數(shù):"+count);
//   (2) 取出子字符串"test"
    String str2 = (String) str.subSequence(10, 14);
    System.out.println(str2);
//   (3) 用多種方式將本字符串復(fù)制到一個(gè)字符數(shù)組Char[] str中.
    char[] c = str.toCharArray();
    System.out.println(c);
    for (int i = 0; i < c.length; i++) {
      System.out.print(c[i]);
    }
    System.out.println();
//   (4) 將字符串中每個(gè)單詞的第一個(gè)字母變成大寫(xiě), 輸出到控制臺(tái)。
      str=str.toLowerCase();
      String[] tt=str.split(" ");
      System.out.println(tt.length);
      for(int i=0;i<tt.length;i++)
      
        //加個(gè)判斷,長(zhǎng)度大于0的
        if(tt[i].length()>0){
          System.out.print(String.valueOf(tt[i].charAt(0)).toUpperCase());
          System.out.print(tt[i].substring(1)+" ");
        }
      }
      System.out.println();
//   (5) 用兩種方式實(shí)現(xiàn)該字符串的倒敘輸出。(用StringBuffer和for循環(huán)方式分別實(shí)現(xiàn))
      StringBuffer sb = new StringBuffer(str);
      System.out.println(sb.reverse().toString());
      char[] c3 = str.toCharArray();
      for (int i = c3.length-1; i >= 0 ; i--) {
        System.out.print(c3[i]);
      }
      System.out.println();
//   (6) 將本字符串轉(zhuǎn)換成一個(gè)字符串?dāng)?shù)組,要求每個(gè)數(shù)組元素都是一個(gè)有意義的額英文單詞,并輸出到控制臺(tái)
      String[] str5=str.split(" ");
      for (int i = 0; i < str5.length; i++) {
        System.out.print(str5[i]+", ");
      }
  }
}

輸出結(jié)果:

?
1
2
3
4
5
6
7
8
9
字符串中字母s出現(xiàn)的次數(shù):3
test
this is a test of java
this is a test of java
6
This Is A Test Of Java
avaj fo tset a si siht
avaj fo tset a si siht
this, is, a, test, of, java,

總結(jié)

以上就是本文關(guān)于Java探索之string字符串的應(yīng)用代碼示例的全部?jī)?nèi)容,希望對(duì)大家有所幫助。如有不足之處,歡迎留言指出。感謝朋友們對(duì)本站的支持!

原文鏈接:http://blog.csdn.net/qq_33624284/article/details/53606519

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 女人被爽到呻吟娇喘的视频动态图 | 91九色porn偷拍在线 | 亚洲品质自拍视频 | 久久综合网久久综合 | 色综合久久天天综合观看 | 精选国产AV精选一区二区三区 | 好猛好紧好硬使劲好大刺激视频 | 免看一级一片一在线看 | 免费理伦片手机在线播放 | 色偷偷亚洲综合网亚洲 | 国产伦久视频免费观看视频 | 啪啪无尽3d动漫漫画免费网站 | 金莲一级淫片aaaaaa | 日韩免费视频播播 | 亚洲国产精品综合欧美 | 欧美香蕉人人人人人人爱 | 日韩欧美在线视频一区二区 | 欧美一区二区福利视频 | 亚洲精品一区制服丝袜 | 欧美日韩精品亚洲精品v18 | 色综合中文字幕在线亚洲 | 天堂色 | 亚洲国产在线综合018 | 国产乱码一卡二卡3卡四卡 国产乱插 | 久久re视频这里精品一本到99 | 日本人成动漫网站在线观看 | 熟睡中的麻麻大白屁股小说 | 网红刘婷hd国产高清 | 国模娜娜一区二区三区 | 九九热在线观看视频 | 国产精品亚洲精品日韩已方 | yy6080午夜国产免费福利 | 日韩成人免费aa在线看 | 男女男精品网站免费观看 | 99在线免费观看 | 白丝超短裙被输出娇喘不停小说 | 91精品啪在线观看国产线免费 | 日韩一区二区三区精品 | 国产老妇 | 2021麻豆剧果冻传媒入口永久 | 四虎国产欧美成人影院 |