Java的字符串

  1. 学习目标:学习Java的字符串

  1. 学习内容:

2.1 String

注意:字符串一旦被定义,将不能更改

定义方式

  • String 变量名 = “字符串”;

  • String 变量名 = new String();创建一个空字符串

  • char arr[] = “字符串”;String 变量名 = new String(arr);可用于修改字符串;

  • byte arr[] =“字符串”;String 变量名 = new String(arr) ; 可用于asc码的转换;

2.2 字符串的比较

扩展:基础数据类型比较的是数据值;引用数据类型比较的是地址值。

Boolean equals() 完全一样才输出true;Boolean equalsignoreCase()忽略大小写的比较。

2.3 获取字符串的长度

字符串名.length;

2.4 遍历字符串

for(int i =0;i < 字符串名.length;i++){

sout(字符串名.charat(i));

}

2.5 截取字符串

字符串名.substring(起始下标,结束下标);不包括结束下标。

2.6 字符串的替换

字符串名.replace(旧值,新值)

  1. 知识运用

3.1 用户登录:用户有三次机会登录,用户名和密码都正确,输出登陆成功;否则,输出用户名或密码错误,并提示用户还剩几次机会。

代码如下

import java.util.Scanner;

public class log_in {
    public static void main(String[] args) {
        //正确的用户名和密码
        String user_name = "ccr";
        String user_password = "030715";
        for(int num = 2;num !=0;num--){
            System.out.println("请输入用户名:");
            Scanner sc1 = new Scanner(System.in);
            String name = sc1.next();
            System.out.println("请输入密码:");
            Scanner sc2 = new Scanner(System.in);
            String password = sc2.next();
            Boolean result1 = user_name.equals(name);
            Boolean result2 = user_password.equals(password);
            if(result1 == true && result2 == true){
                System.out.println("登录成功!");
                break;
            }
            else {
                System.out.println("用户名或密码错误!");
                System.out.println("您还剩" + num + "次机会");
            }
        }
    }
}

3.2 金额转化,将金额nums转化为大写的数字, 0<=num<=9999999.

代码如下

import java.util.Scanner;

public class money {
    public static void main(String[] args) {
        //输入金额
        System.out.println("请输入金额:");
        Scanner sc = new Scanner(System.in);
        int num  = sc.nextInt();
        //判断金额是否符合要去
        if(num >=0 && num <= 9999999){
            System.out.println("金额正确!");
        }
        else {
            System.out.println("金额错误!");
        }
        String final_an = get(num);
        //获取每一位时逆序,此时应再逆序一次
        for (int i = final_an.length() - 1; i >= 0; i--) {
            System.out.print(final_an.charAt(i));
        }
    }
    //获取数字每一位的方法
    public static String get(int num){
        String anwser = "";
        while(true){
            int ge = num%10;
            //调用big方法
            String b = big(ge);
            anwser = anwser + b;
            num = num/10;
            if(num == 0){
                break;
            }
        }
        return anwser;
    }
    //将阿拉伯数字转化为大写的数字的方法
    public static String big(int ge){
        String Arr[] ={"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};
        String big_word = Arr[ge];
        return big_word;
    }
}

3.3 手机号码屏蔽

代码如下

import java.util.Scanner;

public class phone_number {
    public static void main(String[] args) {
        System.out.println("请输入您的电话号码:");
        Scanner sc = new Scanner(System.in);
        String phone_number = sc.next();
        //截取前三位
        String three = phone_number.substring(0,3);
        //截取后四位
        String four = phone_number.substring(7);
        System.out.println(three + "****" + four);
    }
}

3.4 身份证信息的获取:身份证的7—14位代表出生日期,16位代表性别,奇数为男性,偶数为女性。输入一个身份证,输出该身份证持有人的生日和性别。

代码如下

import java.util.Scanner;

public class id {
    public static void main(String[] args) {
        System.out.println("请输入您的身份证:");
        Scanner sc = new Scanner(System.in);
        String id = sc.next();
        //获取生日
        String year = id.substring(6,10);
        String month = id.substring(10,12);
        String day = id.substring(12,14);
        //获取性别
        char sex = id.charAt(16);
        String gender = "";
        if((sex-48)%2 == 0){
            gender = gender + "女";
        }
        else {
            gender = gender + "男";
        }
        System.out.println("生日:" + year + "年" + month + "月" + day + "日");
        System.out.println("性别:" + gender);
    }
}

3.5 游戏敏感词的屏蔽:需输出对应屏蔽词的*,例如输入cnm,应输出***;输入sb,应输出**。

import java.util.Scanner;

public class dirty_talk {
    public static void main(String[] args) {
        System.out.println("请输入:");
        Scanner sc = new Scanner(System.in);
        String talk = sc.next();
        //建立一个脏话集合
        String arr[] = {"tmd","cnm","mlgb","sb"};
        //遍历集合
        for (int i = 0; i < arr.length; i++) {
            //根据不同屏蔽词生成对应个数的*
            int count = arr[i].length();
            String hide = "";
            for (int i1 = 0; i1 < count; i1++) {

                hide = hide + "*";
            }
            talk = talk.replace(arr[i],hide);
        }
        System.out.println(talk);
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值