Checking if a sentence is considered valid
What you have here is a series of boolean-result conditions that you want to apply to a given String.


The design can be expanded to allow List of conditions to be applied.  This way you can add or remove conditions with minumal changes.
You can leverage Java 8 Predicate interface that fits the conditions you want to write.  You can write at least some of the conditions as lambda expressions, saving you the need to write concrete clases

List&lt;Predicate&lt;String&gt;&gt; conditions = new ArrayList&lt;&gt;();
conditions.add((sentence) -&gt; Character.isLetter(sentence.charAt(0))
        &amp;&amp; sentence.charAt(0) == sentence.toUpperCase().charAt(0))

  private boolean areConditionsValid(String sentence) {
      return conditions.stream().allMatch(condition -&gt; condition.test(sentence));
  }