1. 程式人生 > >hihocoder 1197

hihocoder 1197

flag != lin ace n) pan 應該 can pre

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