String字符串练习题

练习

1.给定字符串,返回字符串中小写英文字母、数字以及其他字符出现的个数

package cn.tedu.string;

public class StringText1 {
    public static void main(String[] args) {
        String str="adfsv 1 sfd439%^";
        //给定统计变量
        int count1=0;
        int count2=0;
        int count3=0;
        //遍历字符串
        for(int i=0;i='a'&&c<='z'){
                count1++;
                //判断获取字符是否是数字
            }else if(c>='0'&&c<='9'){

                count2++;
            }else{
                count3++;
            }
        }
        System.out.println("小写英文字母的个数"+count1);
        System.out.println("数字的个数"+count2);
        System.out.println("其他字符的个数"+count3);
    }
}

2.给定字符串,对字符串中的数字进行求和

package cn.tedu.string;

public class StringText2 {
    public static void main(String[] args) {
        //
        String str="sfs2445hdf765878";
        //提供求和变量
        int sum=0;
        //遍历字符串
        for(int i=0;i='0'&&c<='9'){
                //差值就是数字真实值
                sum+=c-'0';
            }
        }
        System.out.println(sum);
    }
}

3.给定字符串,对(获取)字符串中数字进行排序

public class StringText3 {
    public static void main(String[] args) {
        String str="sfs215hdf063879";
        //新建数组存储字符串对象中的数字
        char[] cs=new char[str.length()];
        //计数变量,代表数组下标
        int index=0;
        //遍历字符串
        for(int i=0;i='0'&&c<='9') {
                //把数字字符存储在新的数组中
                cs[index++]=c;
                //Arrays.sort(cs);
            }
        }
        //缩容---index(代表字符串对象中数字字符的个数)
        cs=Arrays.copyOf(cs,index);
        //数组排序
        Arrays.sort(cs);
        //
        System.out.println(Arrays.toString(cs));

4.给定字符串,输出每个字符出现的次数

package cn.tedu.string;
//给定字符串,输出每个字符出现的次数
public class StringText4 {
    public static void main(String[] args) {
        // 只考虑全部小写
        String str1 = "abca";
        //提供布尔数组表示字符串中每个字符的状态
        boolean[] bb = new boolean[str1.length()];

        //给数组元素进行初始化
        //true表示未统计   false表示已统计
        for(int i=0; i0){
            //原串的长度
            int length=str.length();
            //获取每次字符串的第一个字符
            char c=str.charAt(0);
            //空串来接收和获取字符拼接的结果
            String s="";
            //判断是否是需要转义的字符
            if(c=='+'||c=='?'){
                s="\\"+c;
            }else {
                s=c+"";
            }
            //锦绣替换--替换成空串
            //让原串指向新串
            str=str.replaceAll(s,"");
            //输出
            System.out.println(c+"="+(length-str.length()));
        }

5.给定字符串数组,根据冒泡来进行排序(compareTo )

String[] ss={“abc”,“def”,“ab”,“asf”,“bas”,“acb”};

package cn.tedu.string;

import java.util.Arrays;

//给定字符串数组,根据冒泡来进行排序(compareTo)
//String[] ss={"abc","def","aa","cdf","acb"}
public class StringText5 {
    public static void main(String[] args) {
        String[] ss={"abc","def","ab","asf","bas","acb"};
        for(int i=1;i0){
                    String temp=ss[j-1];

                    ss[j-1]=ss[j];

                    ss[j]=temp;



                }
            }
        }
        //
        System.out.println(Arrays.toString(ss));
    }
}

6.给定字符串String str=“订外卖";,转成字节数组根据字节数组的部分内容转成新的字符串对象,要求无论指定字节数组转成字符串对象的字节数多大,保证新的字符串对象没有?

public class StringText6 {
    public static void main(String[] args) throws UnsupportedEncodingException {
        String str="订外卖";
        byte[] bs=str.getBytes("gbk");
        int n=6;
        String s=new String(bs,0,n,"gbk");
        //判断新串的最后一个字符和原串对应位置的字符是否一致
        if(s.charAt(s.length()-1)!=str.charAt(s.length()-1)){
            //进了说明出现?
            //把新串转成字符数组
            char [] cs=s.toCharArray();
            //把除了字符数组最后一个字符以外都转成对应的字符串对象
            s=new String(cs,0,s.length()-1);
        }
        System.out.println(s);

    }
}

7.给定字符串,返回第一个字符出现的所有下标(indexOf )

public static void main(String[] args) {
        //
        String str="abcadhajka";
        /*int index=0;
        for(int i=0;i

你可能感兴趣的:(javase,字符串,java)