目录

java获取字符串长度(英文和中文)

2019年01月21日 15:42 | 429次浏览 作者原创 版权保护

在 Java 中,要获取字符串的长度,可以使用 String 类的 length() 方法,其语法形式如下:

字符串名.length();


例 1

在学生信息管理系统中对管理员密码有这样的规定,即密码长度必须大于 6 位且小于 12 位。因为密码太短容易被破解,太长的话又不容易记住。这就需要首先获取用户输入的密码字符串,然后调用 length() 方法获取长度,再做进一 步的长度判断,最终实现代码如下所示:

import java.util.Scanner;
public class Test05
{
    public static void main(String[] args)
    {
        String sys="学生信息管理";//字义一个字符串表示系统名称
        System.out.println("欢迎进入《"+sys+"》系统");//输出系统名称
        System.out.println("请设置一个管理员密码:");
        Scanner input=new Scanner(System.in);
        String pass=input.next();//获取用户输入的密码
        int length=pass.length();//获取密码的长度
        if(length>6&&length<12)
        {
            System.out.println("密码长度符合规定。");
            System.out.println("已生效,请牢记密码:"+pass);
        }
        else if(length>=12)
            System.out.println("密码过长。");
        else
            System.out.println("密码过短。");
    }
}

上述代码将用户输入的密码保存到字符串变量 pass 中,再调用 pass.length() 方法将长度保存到 length 变量,然后使用 if 语句根据长度给出提示。

运行程序,当输入的密码过短时,运行结果如下所示:

欢迎进入《学生信息管理》系统
请设置一个管理员密码:
123456
密码过短。

当输入的密码符合规定时,运行结果如下所示:

欢迎进入《学生信息管理》系统
请设置一个管理员密码:
abc12345678
密码长度符合规定。
已生效,请牢记密码:abc12345678


获取含有中文的字符串长度

一个中文占用两个字符

public static void main(String[] args) {
		// TODO Auto-generated method stub
		String value="你好java";//含有中文的字符串
		int valueLength = 0;
        String chinese = "[\u0391-\uFFE5]";
        /* 获取字段值的长度,如果含中文字符,则每个中文字符长度为2,否则为1 */
        for (int i = 0; i < value.length(); i++) {
            /* 获取一个字符 */
            String temp = value.substring(i, i + 1);
            /* 判断是否为中文字符 */
            if (temp.matches(chinese)) {
                /* 中文字符长度为2 */
                valueLength += 2;
            } else {
                /* 其他字符长度为1 */
                valueLength += 1;
            }
        }
        
        System.out.println("含有中文字符串的长度为:"+valueLength);

	}

运行main方法:

含有中文字符串的长度为:8


此文章本站原创,地址 https://www.vxzsk.com/2051.html   转载请注明出处!谢谢!

感觉本站内容不错,读后有收获?小额赞助,鼓励网站分享出更好的教程