Przykład

public static void main( String[] args ) {
if ( args.length > 3 ) {
System.out.println( "Więcej niż 3" ); //$NON-NLS-1$
if ( args[ 0 ].startsWith( "a" ) ) { //$NON-NLS-1$
System.out.println( "Rozpoczyna się od a" ); //$NON-NLS-1$
if ( args[ 1 ].endsWith( "z" ) ) { //$NON-NLS-1$
System.out.println( "Kończy się na z"); //$NON-NLS-1$
}
}
}
}

Rozwiązanie
Odwróć warunek i dodaj instrukcję return.
Poniższe rozwiązanie zostało omówione w publikacji Refactoring Martina Fowlera.
  1. Odwróć warunek najbardziej zewnętrznej instrukcji if.
  2. Dodaj instrukcję return pod instrukcją if.
  3. Powtarzaj te kroki aż nie będzie już głęboko zagnieżdżonych instrukcji if.

public static void main( String[] args ) {
if ( args.length <= 3 ) {
return ;
}

System.out.println( "Więcej niż 3" ); //$NON-NLS-1$

if ( !args[ 0 ].startsWith( "a" ) ) { //$NON-NLS-1$
return ;
}

System.out.println( "Rozpoczyna się od a" ); //$NON-NLS-1$

if ( args[ 1 ].endsWith( "z" ) ) { //$NON-NLS-1$
System.out.println( "Kończy się na z" ); //$NON-NLS-1$
}

}