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

题目描述

对一个字符串中的所有单词,如果单词的首字母不是大写字母,则把单词的首字母变成大写字母。在字符串中,单词之间通过空白符分隔,空白符包括:空格(' ')、制表符('\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.*; public class Main { public static void main(String[] args) { // TODO Auto-generated method stub Scanner in=new Scanner(System.in); while(in.hasNext()) { char[] str=in.nextLine().toCharArray(); for(int i=0;i='a'&&str[i]<='z') { str[i]-=32; } else if(str[i]=='\t'||str[i]==' '||str[i]=='\r'||str[i]=='\n') { if(str[i+1]>='a'&&str[i+1]<='z') { str[i+1]-=32; } } System.out.printf("%c",str[i]); } } } }

出现的问题:
1、next()是以“ ”为分隔的,而nextLine()不会,在toCharArray()的时候,next()不会读入空格,nextLine()可以;
2、别忘了‘A’=65,‘a’=97;

你可能感兴趣的:(计算机考研复试题集)