Beispiel

public static void main (String[] args){
if ( args.length > 3 ) {
System.out.println( "Mehr als 3" ); //$NON-NLS-1$
if ( args[ 0 ].startsWith( "a" ) ) { //$NON-NLS-1$
System.out.println( "Beginnt mit a" ); //$NON-NLS-1$
if ( args[ 1 ].endsWith( "z" ) ) { //$NON-NLS-1$
System.out.println( "Endet auf z"); //$NON-NLS-1$
}
}
}
}

Lösung
Kehren Sie die Bedingung um, und fügen Sie eine return-Anweisung hinzu.
Die folgende Lösung wird im Artikel Refactoring von Martin Fowler diskutiert.
  1. Kehren Sie die Bedingung der äußersten if-Anweisung um.
  2. Fügen Sie eine return-Anweisung unterhalb der if-Anweisung ein.
  3. Wiederholen Sie diese Schritte, bis keine tief verschachtelten if-Anweisungen mehr existieren.

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

System.out.println( "Mehr als 3" ); //$NON-NLS-1$

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

System.out.println( "Beginnt mit a" ); //$NON-NLS-1$

if ( args[ 1 ].endsWith( "z" ) ) { //$NON-NLS-1$
System.out.println( "Endet auf z"); //$NON-NLS-1$
}

}