2047. 句子中的有效单词数
class Solution { public int countValidWords(String sentence) { boolean flag = true; String [] strs = sentence.split(" "); int count=0;int gen=0; for(int i=0;i<strs.length;i++) { gen=0; flag = true; if(strs[i].equals("")) { continue; } for(int j=0;j<strs[i].length();j++) { if(j<strs[i].length()-1) { if('a'<=strs[i].charAt(j)&& strs[i].charAt(j)<='z') { }else if('0'<=strs[i].charAt(j)&& strs[i].charAt(j)<='9') { flag = false; break; }else if(strs[i].charAt(j)=='-') { if(gen!=0) { flag = false; break; } if(j==0) { flag = false; break; } if(j>0 && gen==0) { if(('a'<=strs[i].charAt(j-1)&&strs[i].charAt(j-1)<='z') &&('a'<=strs[i].charAt(j+1)&&strs[i].charAt(j+1)<='z')){ gen++; }else { flag = false; break; } } }else { flag = false; break; } }else { if(strs[i].charAt(j)=='-') { flag = false; break; }else if('a'<=strs[i].charAt(j)&& strs[i].charAt(j)<='z') { }else if(strs[i].charAt(j)=='!'||strs[i].charAt(j)=='.'||strs[i].charAt(j)==','||strs[i].charAt(j)==' ') { }else if('0'<=strs[i].charAt(j)&& strs[i].charAt(j)<='9') { flag = false; break; }else { flag = false; break; } } } if(flag) count++; } return count; } }