String 类中方法的运用

1.判断输入的字符串是否是 .java 结束

public boolean endsWith(String suffix) (查帮助,查此方法的说明) 
String str="abcd.java";
String str1=str.substring(str.length()-5, str.length());
if(str1.equals(".java")){
    System.out.println("true");
}
else{
    System.out.println("false");
}
System.out.println(str.endsWith(".java"));

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

    String str="北京欢迎你";
    System.out.println(str.indexOf("欢迎"));

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

    String str="afjasldjJDLK";
    System.out.println(str.toUpperCase());

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

    String str="那车水马龙的人世间,那样地来 那样地去,太匆忙";
    System.out.println(str.lastIndexOf("那"));

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

    System.out.println(str.replace("美丽", "倒霉")); 

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

    String str="白 毕 卞 蔡 曹 岑 常 车 陈 成 程 池 邓 丁 范 方 樊 费 冯 符 傅 甘 高 葛 龚  古 关 郭 韩";
    String ch[]=str.split(" ");
    for(String i : ch){
        System.out.println(i);
    }
    String str2="";
    int num=0;
    for(String i : ch){
        if(num==0)
        {
            str2=str2+i;
            num++;
        }
        else
            str2=str2+"_"+i;
    }
    System.out.println(str2);

public String[] split(String regex) (查帮助,查此方法的说明)
78 70
“hello world smal apple apple is apple 250”;

String.length,charAt();

replace(”);

abcd
7.求出字符串中有多少种字符,以及每个字符的个数
static void printCharInfo(String str)

public static void main(String[] args) {
    String str="hello world smal apple apple is apple 250";
    printCharInfo(str);
}
    static void printCharInfo(String str){
    char [] a=new char[100];
    int [] b=new int[100];
    char [] ch=str.toCharArray();
    int index=0;
    for(int i=0;i<str.length();i++){
        if(i!=0)
            for(int j=0;j<index;j++){
                if(a[j]==ch[i]){
                    b[j]++;
                    break;
                }else if(j==index-1){
                    a[index++]=ch[i];
                    b[index-1]=1;
                    break;
                }
            }
        else{
            a[index++]=ch[i];
            b[index-1]=1;
        }
    }
    System.out.println(index);
    for(int i=0;i<index;i++){
        System.out.println(a[i]+" :"+b[i]);
    }
}

8.去掉字符串右边的空格
String rtrim(String str)

public static void main(String[] args) {
    String str="   hello world     ";
    System.out.println(rtrim(str));
}
static String rtrim(String str){
    char[] a=str.toCharArray();
    int flag=0;
    for(int i=0;i<str.length();i++){
        if(a[i]!=' '){
            flag=i;
            break;
        }
    }
    str=str.substring(0, flag)+str.trim();
    return str;
}

9.将s所指字符串的正序和反序进行连接,例如 “ok”->”okko”
String concat(String str);

public static void main(String[] args) {
    String str="ok";
    System.out.println(str.concat(inversion(str)));
}
static String inversion(String str){
    char ch[]=str.toCharArray();
    for(int i=0;i<str.length()/2;i++){
        char temp=ch[i];
        ch[i]=ch[str.length()-i-1];
        ch[str.length()-i-1]=temp;
    }
    str="";
    for(int i=0;i<ch.length;i++){
        str+=ch[i];
    }
    return str;
}

10.字符串右移n位,例如 “hello world” 右移两位 后ldhello wor
要求写一个方法实现此功能,方法的格式是
String moveToRight(String str,position p)
str:需要移动的字符串
p:右移的位数

public static void main(String[] args) {
    String str="hello world";
    int p=2;
    System.out.println(moveToRight(str,p));
}
static String moveToRight(String str,int p){
    String str1=str.substring(0,p);
    String str2=str.substring(p);
    str=str2+str1;
    return str;
}

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

略过

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

    String s="hello world";
    String s1="lo";
    System.out.println(s.indexOf(s1));

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

public static void main(String[] args) {
    String str="oko";
    System.out.println(str.equals(inversion(str)));
}
static String inversion(String str){
    char ch[]=str.toCharArray();
    for(int i=0;i<str.length()/2;i++){
        char temp=ch[i];
        ch[i]=ch[str.length()-i-1];
        ch[str.length()-i-1]=temp;
    }
    str="";
    for(int i=0;i<ch.length;i++){
        str+=ch[i];
    }
    return str;
}

14 判断一个字符串中某个子串出现的次数

    String z="abcdjd1221abcji2abc";
    int num=0;
    for(char i : z.replaceAll("abc", ".").toCharArray())
        if(i=='.') num++;
    System.out.println(num);

15 自己动手写一个trim方法

public static void main(String[] args) {
    String str="   hello world     ";
    System.out.println(trim(str));
}
static String trim(String str){
    char[] a=str.toCharArray();
    int flag=0;
    int flag1=0;
    for(int i=0;i<str.length();i++){
        if(a[i]!=' '){
            flag=i;
            break;
        }
    }
    for(int i=str.length()-1;i>=0;i--){
        if(a[i]!=' '){
            flag1=i;
            break;
        }
    }
    str=str.substring(flag,flag1+1);
    return str;
}

16.求一个字符串在另一个字符串里的最大子串

public static void main(String[] args) {
    String str="okko";
    String str2="dsakookkkkjkaa";
    o:
    for(int i=4;i>=1;i--){
        for(int j=0;j<=str.length()-i;j++){
            String s=str.substring(j, j+i);
            if(str2.contains(s)){
                System.out.println(s);
                break o;
            }
        }
    }
}
  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值