hihocoder 1197
阿新 • • 發佈:2017-06-28
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 }elseif(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