Példa

public static void main( String[] args ) {
if ( args.length > 3 ) {
System.out.println( "Több, mint 3" ); //$NON-NLS-1$
if ( args[ 0 ].startsWith( "a" ) ) { //$NON-NLS-1$
System.out.println( "A-val kezdődik" ); //$NON-NLS-1$
if ( args[ 1 ].endsWith( "z" ) ) { //$NON-NLS-1$
System.out.println( "Z-re végződik"); //$NON-NLS-1$
}
}
}
}

Megoldás
A feltételt fordítsa az ellentettjére, és szúrjon be egy return utasítást.
A következő megoldásról bővebben Martin Fowler Refactoring című könyvében olvashat.
  1. A legkülső if utasítás feltételét fordítsa az ellentettjére.
  2. uSzúrjon be egy return utasítást az if után.
  3. Ismételje ezeket a lépéseket addig, míg már nem marad több mélyen beágyazott if utasítás.

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

System.out.println( "Több, mint 3" ); //$NON-NLS-1$

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

System.out.println( "A-val kezdődik" ); //$NON-NLS-1$

if ( args[ 1 ].endsWith( "z" ) ) { //$NON-NLS-1$
System.out.println( "Z-re végződik" ); //$NON-NLS-1$
}

}