Capitalized?(大写?)
时间限制:2s 内存限制:1024MB
【原题地址】
【问题描述】
给你一个由大写和小写英文字母组成的非空字符串 S 。请判断是否满足以下条件:
S 的第一个字符是大写字母,其他所有字符都是小写字母。
【输入格式】
输入内容由标准输入法提供,格式如下
S
1≤∣S∣≤100 (∣S∣是字符串 S 的长度。)
S 的每个字符都是大写或小写英文字母。
【输出格式】
如果满足条件,则打印 “是”;否则,打印 “否”。
【样例输入】
样例一、
Capitalized
样例二、
AtCoder
【样例输出】
样例一、
Yes
样例二、
No
【解题思路】
老汉使用到的是暴力枚举的解题方式
本题是求字符串 s 是否满足。第一个字母为大写,剩下的为小写,符合则答案为 YES ,否则为 NO 。
通过将字符串转换为字符数组,判断第一个字母是否为大写,遍历余下数组内字母是否为小写
这题实在是不应该发出来,但是我习惯发一个系列完整的,委屈一下你们,就当是水一篇文章了。
代码注释有详细过程
【代码】
package ABC338_A_Capitalized;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
String s = scan.next();
// 设置一个标记,判断是否符合条件,默认true
boolean bool = true;
// 将字符串cs转换为字符数组
char[] cs = s.toCharArray();
// 当第一个字母不为大写时,输出No
if (cs[0] > 'Z') {
System.out.println("No");
} else {
for (int i = 1; i < cs.length; i++) {
// 当除第一个以外的字母不为小写时,输出No
if (cs[i] < 'a') {
System.out.println("No");
bool = false;
break;
}
}
// 全部遍历后,标记为改变,输出Yes
if (bool) {
System.out.println("Yes");
}
}
scan.close();
}
}