KY57 首字母大写(用Java实现)

描述

对一个字符串中的所有单词,如果单词的首字母不是大写字母,则把单词的首字母变成大写字母。 在字符串中,单词之间通过空白符分隔,空白符包括:空格(' ')、制表符('\t')、回车符('\r')、换行符('\n')。

输入描述:

输入一行:待处理的字符串(长度小于100)。

输出描述:

可能有多组测试数据,对于每组数据, 输出一行:转换后的字符串。

示例1

输入:

if so, you already have a google account. you can sign in on the right.

输出:

If So, You Already Have A Google Account. You Can Sign In On The Right.

代码如下:

import java.util.Scanner;

/*
 * 首字母大写
 * 	注意如果需要进行按位替换字符串中的字符,需要使用StringBuilder
 */
public class CapitalCase {

	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		while(scanner.hasNext()) {
			StringBuilder sb = new StringBuilder(scanner.nextLine());
			//处理第一个字母
			if (sb.charAt(0) >= 'a' && sb.charAt(0) <= 'z') {
				//将第一个字母设置为大写
				sb.replace(0, 1, Character.toString(sb.charAt(0)).toUpperCase());
			}
			//处理剩余字母
			for (int i = 0; i < sb.length(); i++) {
				
				if (sb.charAt(i) == ' ' || sb.charAt(i) == '\t' || sb.charAt(i) == '\r'||sb.charAt(i) == '\n') {
					
					if(i<sb.length()-1) {	//i不是指向最后一个位置
						
						if (sb.charAt(i+1)>='a'&&sb.charAt(i+1)<='z') {
							//将第i+1个字母替换成成大写
							sb.replace(i+1, i+2, Character.toString(sb.charAt(i+1)).toUpperCase());
						}
					}
				}
			}
			System.out.println(sb.toString());
		}
	}
	
}

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Laz124519

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值