java 字符串中判断字母大小写方法

假如输入的是只含字母的字符串,怎么判断字母的大小写从而讲它们分类?例如,输入的是Book,那么将它分到“名词”这组;假如输入的是ABC,那么将它分到“缩写词”这组。。要在... 假如输入的 是只含字母的字符串,怎么判断字母的大小写从而讲它们分类?例如,输入的是 Book ,那么将它分到“名词”这组;假如输入的是 ABC,那么将它分到 “缩写词”这组。。要在JAVA环境下怎么实现呢?新人请教。。。
能不能详细点写下步骤
展开
 我来答
cccslin
高粉答主

推荐于2019-08-27 · 每个回答都超有意思的
知道答主
回答量:72
采纳率:100%
帮助的人:1.2万
展开全部

方法一:

根据 Character 类提供的大小写判断方法

```java

Character.isUpperCase(c); // 是否是大写

Character.isUpperCase(c); // 是否是小写

```

方法二:

通过 ASCII 码判断字母大小写,ASCII在 65-90 之间是大写,97-122 是小写

```java

/*

* 是否是大写

*/

public boolean isUpperCase(char c) {

return c >=65 && c <= 90;

}

/*

* 是否是小写

*/

public boolean isLowerCase(char c) {

return c >=97 && c <= 122;

}

```

扩展资料:

大小写互相转换

方法一

根据 Character 类提供的大小写转换方法

```java

/*

* 小写转大写

*/

public char toUpper(char c) {

return Character.isLowerCase(c) ? c : Character.toUpperCase(c);

}

/*

* 大写转小写

*/

public char toLower(char c) {

return Character.isUpperCase(c) ? c : Character.toLowerCase(c);

}

```

方法二

通过 ASCII 加 32 转换为小写,减 32 转换为大写

```java

/*

* 是否是大写

*/

public boolean isUpperCase(char c) {

return c >=65 && c <= 90;

}

/*

* 是否是小写

*/

public boolean isLowerCase(char c) {

return c >=97 && c <= 122;

}

```

字符串大写转小写,小写转大写

public class WordUpperLow {

public static void main(String[] args) {

new WordUpperLow().upToLowToUp("HeLLoWoRlD");

}

public void upToLowToUp(String str) {

/*

* 方法一 根据 char 的工具类 Character

*/

char[] chars = str.toCharArray();

for (int i = 0, length = chars.length; i < length; i++) {

char c = chars[i];

//判断字母是不是大写,如果是大写变为小写

if (Character.isUpperCase(c)){

chars[i] = Character.toLowerCase(c);

continue;

}

//如果为小写,变为大写

chars[i] = Character.toUpperCase(c);

}

String str1 = new String(chars);

System.err.println(str1);

/*

* 方法二

* 通过ASCII码判断字母大小写 ASCII在65-90之间是大写,97-122是小

* 大转小加32 小转大减去32

*/

byte[] bytes = str.getBytes();

for (int i = 0, length = bytes.length; i < length; i++) {

//如果ASCII在65-90之间为大写,加上32变为小写

if (bytes[i] >= 65 && bytes[i] <= 90){

bytes[i] += 32;

//如果ASCII在97-122之间为小写,减去32变为大写

} else if (bytes[i] >= 97 && bytes[i] <= 122){

bytes[i] -= 32;

}

}

String str2 = new String(bytes);

System.err.println(str2);

}

/*

* 小写转大写

*/

public char toUpper(char c) {

return c >=65 && c <= 90 ? c : (char)(c - 32);

}

/*

* 大写转小写

*/

public char toLower(char c) {

return c >=97 && c <= 122 ? c : (char)(c + 32);

}

/*

* 是否是大写

*/

public boolean isUpperCase(char c) {

// Character.isUpperCase(c);

return c >=65 && c <= 90;

}

/*

* 是否是小写

*/

public boolean isLowerCase(char c) {

//        Character.isLowerCase(c);

return c >=97 && c <= 122;

}

}

参考资料:百度百科-Java字符

百度网友b745e17d0f
推荐于2017-04-18 · TA获得超过1087个赞
知道小有建树答主
回答量:728
采纳率:0%
帮助的人:760万
展开全部
按你的描述就是字符串里如果全是大写字母就算“缩写词”,否则都算“名词”
这样的话也很容易啊,java已经提供了判断大小写的内置方法
public static boolean isAcronym(String word)
{
for(int i = 0; i < word.length(); i++)
{
char c = word.charAt(i);
if (!Character.isLowerCase(c))
{
return false;
}
}
return true;
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
千叶育儿
2010-03-06 · 育儿、诗词分享,每天进步一点点!
千叶育儿
采纳数:1524 获赞数:5379

向TA提问 私信TA
展开全部
ASCII表中a对应的ascii码是97,A对应的ascii码是65
你可以判断当两个连续字符串以上的ascii码都大于65且小于97时,他们是缩写,当第一个大于65且小于97,第二个以后的字母大于97且小于122(z的ascii码)时,他们是名词
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jixiaoliangde
2010-03-08 · TA获得超过870个赞
知道小有建树答主
回答量:1005
采纳率:0%
帮助的人:534万
展开全部
判断ASSCII码 就是了 大写A :65 小写a:97
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
unodos
2010-03-07 · TA获得超过134个赞
知道答主
回答量:184
采纳率:0%
帮助的人:54.3万
展开全部
学习了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式