Se lo faccio così è sbagliato?

codice:
package numparole;
import java.util.Scanner;
public class numparole {
 public static void main(String[] args) {
  // TODO Auto-generated method stub
  @SuppressWarnings("resource")
  Scanner in=new Scanner(System.in);
  String frase=new String();
  System.out.println("Inserisci una frase");
  frase=in.nextLine();
  int p,contparole=0;
  for(int i=0; i<frase.length();i++)
  {
   p=frase.charAt(i);
   if((p==' ') || (p=='.') || (p==','))
   {
    contparole++;
   }
  }
  System.out.println("Numero parole contenute->"+contparole);
 }
}