字符串中英文单词开头字符大小写转换

华为2016年实习生招聘笔试题:输入一个英文句子的字符串,修改每个英文单词的首字母的大小写,即大写改为小写,小写改为大写,并返回修改后的字符串

package com.javaexam.test;

import java.util.Scanner;

public class CharExchange {
	public static void main(String[] args){
		Scanner in = new Scanner(System.in);
		while(in.hasNext()){
			String str = in.nextLine();//将整行字符串读入
			int index = 0;
			String result = "";
			while(index<str.length()){
				int i = str.indexOf(" ",index);//获取单词之间的空格位置
				String aa;
				String cc = "";
				if(i!=-1){
					aa = str.substring(index,i);//截取空格与空格之间的字符串,即一个英文单词
					char c = aa.charAt(0);//获得首字符的字符
					if(Character.isLowerCase(c)){//判断首字母是否为小写,是则改为大写,并拼回字符串中
						cc = Character.toUpperCase(c) + aa.substring(1) + " ";
					}if(Character.isUpperCase(c)){//判断首字符是否为大写,是则改为小写
						cc = Character.toLowerCase(c) + aa.substring(1) + " ";
					}
					index = i+1;
				}else{
					aa = str.substring(index);//最后一个单词只有前面有空格,后面没有空格,因此此处截取最后一个单词
					char c = aa.charAt(0);
					if(Character.isLowerCase(c)){
						cc = Character.toUpperCase(c) + aa.substring(1);
					}if(Character.isUpperCase(c)){
						cc = Character.toLowerCase(c) + aa.substring(1);
					}
					index = str.length();
				}
				result = result + cc;
			}
			System.out.println(result);
		}
	}

}


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值