Java判断字符串中包含中文的方法
引言
在实际的开发过程中,我们经常会遇到需要判断一个字符串是否包含中文的需求,比如校验用户输入是否含有中文字符。本文将介绍一种简单的方法来判断字符串中是否包含中文字符,帮助刚入行的小白快速掌握这个技巧。
流程图
st=>start: 开始
op1=>operation: 输入字符串
op2=>operation: 判断是否包含中文
cond=>condition: 包含中文?
op3=>operation: 输出结果
e=>end: 结束
st->op1->op2->cond
cond(yes)->op3->e
cond(no)->e
代码实现步骤
步骤 | 代码 | 说明 |
---|---|---|
1 | String str = "Hello 你好"; | 声明一个字符串变量,并赋值为需要判断的字符串 |
2 | boolean containChinese = checkContainChinese(str); | 调用自定义方法checkContainChinese() 判断字符串是否包含中文字符 |
3 | if (containChinese) {<br> System.out.println("字符串中包含中文");<br>} else {<br> System.out.println("字符串中不包含中文");<br>} | 根据返回的结果判断字符串是否包含中文字符,并输出相应的提示信息 |
代码实现
以下是实现判断字符串是否包含中文字符的完整代码:
public class Main {
public static void main(String[] args) {
String str = "Hello 你好";
boolean containChinese = checkContainChinese(str);
if (containChinese) {
System.out.println("字符串中包含中文");
} else {
System.out.println("字符串中不包含中文");
}
}
/**
* 判断字符串是否包含中文字符
*
* @param str 需要判断的字符串
* @return 是否包含中文字符
*/
public static boolean checkContainChinese(String str) {
for (char c : str.toCharArray()) {
if (isChinese(c)) {
return true;
}
}
return false;
}
/**
* 判断字符是否为中文字符
*
* @param c 需要判断的字符
* @return 是否为中文字符
*/
public static boolean isChinese(char c) {
Character.UnicodeBlock ub = Character.UnicodeBlock.of(c);
return ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS
|| ub == Character.UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS
|| ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A
|| ub == Character.UnicodeBlock.GENERAL_PUNCTUATION
|| ub == Character.UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION
|| ub == Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS;
}
}
代码说明
- 定义一个字符串变量
str
,并赋值为需要判断的字符串。 - 调用自定义方法
checkContainChinese()
,将str
作为参数传入,判断字符串是否包含中文字符,并将结果保存在containChinese
变量中。 - 使用条件语句判断
containChinese
的值,如果为true
,则输出"字符串中包含中文",否则输出"字符串中不包含中文"。
关于计算相关的数学公式
本文的内容主要涉及字符串的处理,不涉及计算相关的数学公式。
以上就是判断字符串是否包含中文字符的方法,希望对刚入行的小白有所帮助。通过本文的介绍,你应该能够理解整个判断过程,并能够运用到实际的开发中。如果还有其他疑问,可以留言讨论,我会尽力解答。