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;
}
}