首页 > 代码库 > hihocoder 1197

hihocoder 1197

http://hihocoder.com/problemset/problem/1197

这个题目做了还是很久。因为很多地方没看明白

1.每个语句是说以.结尾,那么.后面的语句应该就是新的一个语句了(首字母得大写)

2.每个语句,后面可能会少一个空格,你应该加上去(指逗号后面紧跟着字符的)

然后代码参考了一下别人的。。。

 1 import java.util.Scanner;
 2 
 3 public class Main {
 4 
 5     public static void main(String[] args) {
 6 
 7         Scanner cin = new Scanner(System.in);
 8         while (cin.hasNext()) {
 9             String str = cin.nextLine();
10             for (int i = 0; i < str.length(); i++)
11                 if (str.charAt(i) >= ‘A‘ && str.charAt(i) <= ‘Z‘)
12                     str = str.replace(str.charAt(i), (char) (str.charAt(i) - ‘A‘ + ‘a‘));
13             String ans = "";
14             boolean flag = false;
15             boolean first = false;
16             for (int i = 0; i < str.length(); i++) {
17                 if(str.charAt(i)!=‘ ‘){
18                     if(str.charAt(i)==‘,‘){
19                         ans+=", ";
20                     }else if(str.charAt(i)==‘.‘){
21                         ans+=". ";
22                         first = false;
23                     }else {
24                         if(!flag&&first&&!ans.endsWith(" "))
25                             ans+=" ";
26                         if(!first){
27                             ans+=(char)(str.charAt(i)-‘a‘+‘A‘);
28                             first = true;
29                         }else 
30                             ans+=str.charAt(i);
31                         flag = true;
32                     }
33                 }else 
34                     flag = false;
35             }
36             System.out.println(ans);
37         }
38     }
39 }

 

hihocoder 1197