给定一个字符串 S,如果 S 满足以下要求中的任意一个则返回 true,否则返回 false:
1. 全部都是大写字母,比如 "BILIBILI"
2. 全部都是小写字母,比如 "bilibili"
3. 首字母大写,比如 "Bilibili"
输入为字符串,且只包含英文字母。
输出为 true 或则 false
bilibili
true
BiliBili
false
import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException; public class Main{ public static void main(String args[]) throws IOException{ BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); String str=null; while((str=br.readLine())!=null){ if(str.matches("[a-z]+")||str.matches("[A-Z]+")||str.matches("^[A-Z][a-z]+")){ System.out.println("true"); }else{ System.out.println("false"); } } } }
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String input = sc.nextLine(); Boolean flag1=true;//全大写判定 Boolean flag2=true;//全小写判定 Boolean flag3=true;//首字母大写判定 if (input.charAt(0) < 'A' || input.charAt(0) > 'Z') { flag3=false; } for (int i = 0; i < input.length(); i++) { char c = input.charAt(i); if (c < 'A' || c > 'Z') {//小写 flag1 = false; } else {//大写 flag2=false; if (i>0)flag3=false; } if (!(flag1 || flag2 || flag3)) { System.out.println(false); return; } } System.out.println(true); } }
#include<bits/stdc++.h> using namespace std; int main(){ string s; cin>>s; int ans = 1; for(int i = 0; i < s.size(); i++){ if(s[i] <= 'z' && s[i]>= 'a') ans = 1; else{ ans = 0; break; } } if(ans==0){ for(int i = 0; i < s.size(); i++){ if(s[i] <= 'Z' && s[i]>= 'A') ans = 1; else{ ans = 0; break; } } } if(ans==0&&s[0]>='A'&&s[0] <= 'Z'){ for(int i = 1; i < s.size(); i++){ if(s[i] <= 'z' && s[i]>= 'a') ans = 1; else{ ans = 0; break; } } } if(ans == 1) cout<<"true"<<endl; else cout<<"false"<<endl; }
import java.util.Scanner; /** * 题目描述: * 给定一个字符串 S,如果 S 满足以下要求中的任意一个则返回 true,否则返回 false: * 1. 全部都是大写字母,比如 "BILIBILI" * 2. 全部都是小写字母,比如 "bilibili" * 3. 首字母大写,比如 "Bilibili" */ public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); StringBuilder str = new StringBuilder(); while (sc.hasNext()) { str.append(sc.nextLine()); } //判断是否合法 System.out.println(isFlag(str)); } //判断是否符合规则 private static boolean isFlag(StringBuilder str) { //字符串为空 if (str == null) return false; //只有一个字符 if(str.length() == 1) return true; //有两个字符且首字符为大写字母 if(str.length() == 2 && str.charAt(0) >= 'A' && str.charAt(0) <= 'Z') return true; //字符串全部为小写情况 if (str.charAt(0) >= 'a' && str.charAt(0) <= 'z') { for (int i = 1; i < str.length(); i++) { if (str.charAt(i) >= 'a' && str.charAt(i) <= 'z') continue; else return false; } return true; } //多个字符且首字符为大写字母 if (str.charAt(0) >= 'A' && str.charAt(0) <= 'Z') { if (str.charAt(1) >= 'A' && str.charAt(1) <= 'Z') { for (int i = 2; i < str.length(); i++) { if (str.charAt(i) >= 'A' && str.charAt(i) <= 'Z') continue; else return false; } return true; }else { if (str.charAt(1) >= 'a' && str.charAt(1) <= 'z') for (int i = 2; i < str.length(); i++) { if (str.charAt(i) >= 'a' && str.charAt(i) <= 'z') continue; else return false; } return true; } } return false; } }
import java.util.Scanner; public class Main{ public static void main(String[] arg){ Scanner in = new Scanner(System.in); char[] read = in.nextLine().toCharArray(); boolean flag = (read[0]>='A') && (read[0]<='Z'); //第一个为小写,则说明合法字符串全部是小写 if(!flag){ //当剩余字符串中出现大写时,返回false for(int i=1;i<read.length;i++){ if(read[i]<'a' || read[i]>'z'){ System.out.println("false"); return; } } System.out.println("true"); } //第一个字符是大写 else{ boolean big = false; boolean small = false; for(int i=1;i<read.length;i++){ if(read[i]>='a' && read[i]<='z'){ small =true; } if(read[i]>='A' && read[i]<='Z'){ big = true; } } //若全部大写,则big==true,small==false; //若全部大写,则big==false,small==true; //若非法,则big==true,small == true; if(big && small){ System.out.println("false"); }else{ System.out.println("true"); } } } }暴力求解