随笔 - 384  文章 - 0  评论 - 0  阅读 - 13万

力扣520(java)-检测大写字母(简单)

题目:

我们定义,在以下情况时,单词的大写用法是正确的:

1.全部字母都是大写,比如 "USA" 。
2.单词中所有字母都不是大写,比如 "leetcode" 。
3.如果单词不只含有一个字母,只有首字母大写, 比如 "Google" 。
给你一个字符串 word 。如果大写用法正确,返回 true ;否则,返回 false 。

 示例 1:

输入:word = "USA"
输出:true
示例 2:

输入:word = "FlaG"
输出:false
 

提示:

1 <= word.length <= 100
word 由小写和大写英文字母组成

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/detect-capital
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

解题思路:

将上列三种情况换一种说法:

1.如果第一个字母为小写,需要判断第二个字母是否为小写,不是则返回false,否则就返回true;

2.无论第一个字母是否大小写,其他字母必须与第二个字母大小写相同。

代码:

 

 二、判断大写字母的个数

先统计出字符串中大写字母的个数:

  • 大写字母个数为字符串长度;
  • 大写字母的个数为0;
  • 大写字母的个数为1,并且首字母为大写字母。

以上三种情况之一成立都返回true,否则返回false。

代码:

 小知识:

Java中,字符串数据实际上由String类所实现的。

1.java中获取字符串的长度,使用String类的length(),语法:

字符串名.length()

2.String对象的访问,使用charAt()方法得到指定位置的字符:

// charAt(index)
//使用charAt函数获取字符串word中索引值为4的char值
     charAt(4);

3.toUpperCase()和toLowerCase()方法分别实现字符串大小写的转换;

String str="THISIS A STRING";
String str1=str.toLowerCase(); //str1="thisis a string";

4.Character 类为操控字符提供了一系列有用处的类(例如:静态类),Java 编译器也将能在某些情况下创造一个 Character 对象

5. 逻辑运算符异或用^表示,前后条件有且只有一个true,即前后条件互斥。

Character.isLowerCase(word.charAt(i)) ^ Character.isLowerCase(word.charAt(1))
//1.小写(真) ^ 小写(真)==> 假 ==>true
//2.小写(真) ^ 大写(假)==> 真 ==>false
//3.大写(假) ^ 小写(真)==> 真 ==>false
//4.大写(假) ^ 大写(假)==> 假 ==>true

 

posted on   我不想一直当菜鸟  阅读(617)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示