有关字符串的认识,相互之间比较,反转,遍历,拼接,统计字符及其练习

认识字符串

public static void main(String[] args) {

        //使用直接赋值的方式获取一个字符串对象
        System.out.println(123 + "菠萝吹雪");
        System.out.println("abc" + true);
        System.out.println("菠萝吹雪" + 666);



        String a1 = 123 + "菠萝吹雪";
        System.out.println(a1);

        //使用直接赋值的方式获取一个字符串对象
        //空参构造 : 可以获取一个空白的字符串对象
        String a2 = new String();
        System.out.println("@" + a2 +"!");


        //传递一个字符数组 根据字符数组的内容再去创建一个新的字符串对象
        //我们需要修改字符串的内容
        char [] all = {'a','b','c','d'};
        String a3 = new String(all);
        System.out.println(a3);


        //传递一个字节数,根据字节数的内容在创建一个新的字符串对象
        //字节信息的转换,需要用到在这个构造
        byte[] a4 =  {97,98,99,100};
        String a5 = new String(a4);
        System.out.println(a5);
        
    }

字符串的比较

public static void main(String[] args) {
        //基本数据类型
        //基本数据类型比较的是数据值
        int a = 10;
        int b = 20;
        System.out.println(a == b); //false

        //引用数据类型
        //引用数据类型比较的是地址值
        String a1 = new String("abc");
        String a2 = new String("abc");
        System.out.println(a1 == a2); //false

        //串池相同 地址值相同
        String b1 = "abc";
        String b2 = "abc";
        System.out.println(b1 == b2); //true

        String a3 = new String("abc");
        String b3 = "abc";
        System.out.println(a3 == b3); //ture

        //进行字符串的值的比较
        //boolean equals   完全一样才为 true 否则为 false
        //boolean equalsIgnoreCase  忽略大小写的比较

        String a4 = new String("abc");
        String b4 = "abc";
        boolean mun1 = a4.equals(b4);
        System.out.println(mun1);

        String a5 = new String("abc");
        String b5 = "Abc";
        boolean mun2 = a5.equalsIgnoreCase(b5);
        System.out.println(mun2);

    }

字符串的反转

public class 字符串的反转 {
    public static void main(String[] args) {


        Scanner sc = new Scanner(System.in);
        System.out.println("请输入您想反转的字符串:");
        String a1 = sc.nextLine();
        fanzhuan(a1);
        System.out.println("----------------------");
        fanzhuan1(a1);
    }

    //方法一
    public static void  fanzhuan(String mun) {
        for (int i = 0; i < mun.length(); i++) {
            char k = mun.charAt(mun.length()-(i+1));
            System.out.println(k);
        }
    }


    //方法二
    public static void fanzhuan1(String mun) {
        for (int i = mun.length()-1; i >=0; i--) {
            char k = mun.charAt(i);
            System.out.println(k);
        }
    }

}

字符串的遍历

import java.util.Scanner;

public class 字符串的遍历 {
    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);
        System.out.println("请输入您想输入的字符串:");
        String mun = sc.next();
        for (int i = 0; i < mun.length(); i++) {
            char a1 = mun.charAt(i);
            System.out.println(a1);
        }
    }
}

拼接字符串

public class 拼接字符串 {
    public static void main(String[] args) {
        int [] mun = {1,2,3,4,5,6,7,8,9,0};
        pinjie(mun);
    }
    public static void pinjie(int [] mun) {
        System.out.print("[");
        for (int i = 0; i < mun.length; i++) {
            if(i==mun.length-1){
                System.out.print(mun[i]);
            }else{
                System.out.print(mun[i]+",");
            }
        }
        System.out.println("]");
    }
}

统计字符次数

import java.util.Scanner;

public class 统计字符次数 {
    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);
        System.out.println("请输入您想输入的字符串:");
        String mun = sc.next();

        int c1=0,c2=0,c3=0;
        for (int i = 0; i < mun.length(); i++) {
            char k = mun.charAt(i);
            if(k>='a' && k<='z'){
                c3 +=1;
            }
            if(k>='A'&&k<='Z'){
                c2 +=1;
            }
            if(k>='0'&& k<='9'){
                c1 +=1;
            }
        }
        System.out.println("您输入的字符串中大写字母字符"+c2+"个," + "小写字母字符"+c3+"个," + "数字字符"+c1+"个");
    }
}

身份证信息查看

public class 身份证信息查看 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入您的身份证信息:");
        String shenfenzheng = sc.nextLine();

        //年份
        String mun = shenfenzheng.substring(6,10);
        //月份
        String mun1 = shenfenzheng.substring(10,12);
        //日期
        String mun2 = shenfenzheng.substring(12,14);
        //性别
        char a1 = shenfenzheng.charAt(16);
        int mun3 = a1 - 48;
        String mun4 = "";
        if(mun3%2 == 0){
            mun4 += "女";
        }else if(mun3%2==1){
            mun4 += "男";
        }
        //打印
        System.out.println("人物信息为:");
        System.out.println("出生年月日:"+mun+"年"+mun1+"月"+mun2+"日");
        System.out.println("性别为:"+mun4);
    }
}

金额转换(数字与汉字之间)

import java.util.Scanner;

public class 金额转换升级版 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入您的收据金额:");
        int k = sc.nextInt();
        String name = "";
        while(true){
            int ge = k%10;
            name = fanyi(ge) + name;
            k = k/10;

            if(k==0){
                break;
            }
        }
        if(name.length()<=7 && k>=0){
            String [] mun1 = {"佰","拾","万","仟","佰","拾","元"};
            String [] num = new String[7];
            String [] num1 = new String[7];
            String [] q1 = new String[name.length()];

            for (int i = 0; i < name.length(); i++) {
                char al = name.charAt(i);
                num[i] = String.valueOf(al);
            }

            for (int i = 0; i < num.length; i++) {
                if(num[i]==null){
                }else{
                    q1[i] = num[i];
                }
            }
            int c = 0;
            for (int i = q1.length-1; i >= 0; i--) {
                num1[7-(c+1)] = q1[i];
                c +=1;

            }
            for (int i = 0; i < num1.length; i++) {
                if(num1[i] == null){
                    num1[i] = "零";
                }
            }
            for (int i = 0; i < num1.length; i++) {
                System.out.print(num1[i]+mun1[i]);
            }
        }else{
            System.out.println("超出金额范围!");
        }
    }
    public static String fanyi ( int k){
        String[] mun = {"零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"};
        return mun[k];
    }
}

手机信号屏蔽

public class 手机号屏蔽2_substring {
    public static void main(String[] args) {

        String mun = "17389290933";

        //截取前三位
        String mun1 = mun.substring(0,3);

        //截取后四位
        String mun2 = mun.substring(7);

        //拼接
        String mun3 = mun1 + "****" + mun2;

        System.out.println(mun3);
    }
}

字符串的反转

import java.util.Scanner;

public class 字符串的反转 {
    public static void main(String[] args) {


        Scanner sc = new Scanner(System.in);
        System.out.println("请输入您想反转的字符串:");
        String a1 = sc.nextLine();
        fanzhuan(a1);
        System.out.println("----------------------");
        fanzhuan1(a1);
    }

    //方法一
    public static void  fanzhuan(String mun) {
        for (int i = 0; i < mun.length(); i++) {
            char k = mun.charAt(mun.length()-(i+1));
            System.out.println(k);
        }
    }


    //方法二
    public static void fanzhuan1(String mun) {
        for (int i = mun.length()-1; i >=0; i--) {
            char k = mun.charAt(i);
            System.out.println(k);
        }
    }

}

  • 7
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值