字符串练习

1.判断输入的字符串是否是 .java 结束 public boolean endsWith(String suffix) (查帮助,查此方法的说明)

public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入您想要的内容");
        String string = scanner.nextLine();
        if (string.endsWith(".java")){
            System.out.println("是以.java结尾的字符串");
        }else{
            System.out.println("不是以.java结尾的字符串");
        }
    }

2. 输出“北京欢迎你”中“欢迎”是第几位。 public int indexOf(String str) (查帮助,查此方法的说明)

public static void main(String[] args) {
        String string ="北京欢迎你";
        int index = string.indexOf("欢迎");
        System.out.println(index);
    }

3. 把输入的小写字母改成大写字母输出。

public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入小写字母");
        String string = scanner.nextLine();
        string = string.toUpperCase();
        System.out.println(string);
    }

4. “那车水马龙的人世间,那样地来 那样地去,太匆忙”最后一次出现“那”的位置。

public static void main(String[] args) {
        String string = "那车水马龙的人世间,那样地来 那样地去,太匆忙”最后一次出现“那”的位置。";
        int index = string.lastIndexOf("那");
        System.out.println(index);
    }

5. “美丽呀 倒影在心房 美丽呀 泪珠挂腮上  美丽呀 花儿吐芬芳  美丽呀 你让我慌张”把这个字符串所有“美丽”替换成“倒霉”。

public static void main(String[] args) {
        String string = "美丽呀 倒影在心房 美丽呀 泪珠挂腮上  美丽呀 花儿吐芬芳  美丽呀 你让我慌张";
        String index = string.replace("美丽","倒霉");
        System.out.println(index);
    }

6. "白 毕 卞 蔡 曹 岑 常 车 陈 成 程 池 邓 丁 范 方 樊 费 冯 符 傅 甘 高 葛 龚 古 关 郭 韩"把这个字符串以空格为分隔,分到字符串数组中,再输出。然后再以”_”为分隔符,连接成一个字符中

`public String[] split(String regex) (查帮助,查此方法的说明) `
public static void main(String[] args) {
        String string = "白 毕 卞 蔡 曹 岑 常 车 陈 成 程 池 邓 丁 范 方 樊 费 冯 符 傅 甘 高 葛 龚 古 关 郭 韩";
        String [] strings = string.split(" ");
        for (String s:strings){
            System.out.println(s);
        }
        string = "";
        for (int i=0;i<strings.length;i++){
            if (i<strings.length-1){
                string+=strings[i]+"_";
            }else {
                string+=strings[i];
            }
        }
        System.out.println(string);
    }

7.求出字符串中有多少种字符,以及每个字符的个数

`static void printCharInfo(String str)`
public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入您想要的内容");
        String string = scanner.nextLine();
        int sum = 0;
        for (int i=0;i<string.length();i++){
            String string1 = string.substring(i,i+1);
            if(i<string.length()-1){
                String string2 = string.substring(i+1);
                if (!string2.contains(string1)){
                    sum++;
                }
            }else {
                sum++;
            }
        }
        System.out.println("字符的个数:"+sum);
    }

8.去掉字符串右边的空格

`String rtrim(String str)`
public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入您想要的内容");
        String string = scanner.nextLine();
        while (string.endsWith(" ")){
            string = string.substring(0,string.length()-1);
        }
        System.out.println(string+"0");
    }

9.将s所指字符串的正序和反序进行连接,例如 "ok"->"okko"(手动编写方法与API方法两种方式)

`String concat(String str);`
public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入您想要的内容");
        String string = scanner.nextLine();
        StringBuilder stringBuilder = new StringBuilder(string);
        stringBuilder = stringBuilder.reverse();
        String newstring = stringBuilder.toString();
        String string1 = string+newstring;
        System.out.println(string1);
    }
public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入您想要的内容");
        String string = scanner.nextLine();
        char [] cs = string.toCharArray();
        String newStr = "";
        for (int i=cs.length-1;i>=0;i--){
            newStr+=cs[i];
        }
        String s = string+newStr;
        System.out.println(s);
    }

10.字符串右移n位,例如 "hello world" 右移两位 后ldhello wor

要求写一个方法实现此功能,方法的格式是

```
	String moveToRight(String str,position p)
	str:需要移动的字符串
	p:右移的位数
```	
public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入您想要的内容");
        //string 代表字符串
        String string = scanner.nextLine();
        System.out.println("请输入向右移动的位数");
        int number = scanner.nextInt();

        //真实移动的次数
        number = number%string.length();
        //s代表从后截取的字符串
        String s = string.substring(string.length()-number);
        //s1代表从后截取之后剩余的字符串
        String s1 = string.substring(0,string.length()-number);
        //newStr代表移动之后的结果
        String newStr = s+s1;
        System.out.println(newStr);
    }

11.求5个字符串中最长的那个,把最长的字符串打印出来

public static void main(String[] args) {
        String [] strs = new String [5];
        Scanner scanner = new Scanner(System.in);
        for (int i=0;i<strs.length;i++){
            System.out.println("请输入内容");
            strs[i] = scanner.nextLine();
        }
        int index = 0;
        int length = strs [index].length();
        for (int i=0;i<strs.length;i++){
            if (length<strs[i].length()){
                length = strs [i].length();
                index = i;
            }
        }
        System.out.println(strs[index]);
    }

12.若可以从一个源字符串中, 找到一个相符的字符串, 则返回第一个字符的索引位置,否则返回-1。

`int stringAt(String str,String subStr)`
public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入内容");
        String string1 = scanner.nextLine();
        System.out.println("请输入内容");
        String string2 = scanner.nextLine();
        int index = -1;
        for (int i=0;i<string1.length();i++){
            if (i<string1.length()-string2.length()){
                String s = string1.substring(i,i+string2.length());
                if (s.equals(string2)){
                    index = i;
                    break;
                }
            }
        }
        System.out.println(string2+"出现");
    }

13.判断一个字符串是否是回文

public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入内容");
        String string = scanner.nextLine();
        StringBuilder stringBuilder = new StringBuilder(string);
        stringBuilder = stringBuilder.reverse();
        String newString = stringBuilder.toString();
        if(string.equals(newString)){
            System.out.println("是回文数");
        }else{
            System.out.println("不是回文数");
        }
    }
原文地址:https://www.cnblogs.com/SunMoonSky/p/12540429.html