Il programma SecondoGradoElse.java risolve il problema delle soluzioni di una equazione di secondo grado usando istruzioni condizionali con alternativa (invece delle tre istruzioni condizionali semplici).
/* Soluzione equazione di secondo grado. */ class SecondoGradoElse { public static void main (String args[]) { double a=2, b=5, c=3; double d; double s1, s2; d=b*b-4*a*c; if( d==0 ) { s1=(-b - Math.sqrt( b*b -4*a*c ))/(2*a); s2=s1; System.out.println("Soluzioni coincidenti: " + s1); } else if( d>0 ) { s1=(-b - Math.sqrt( b*b -4*a*c ))/(2*a); s2=(-b + Math.sqrt( b*b -4*a*c ))/(2*a); System.out.println("Soluzioni reali: " + s1 + " " + s2); } else { System.out.println("Soluzioni complesse"); } } }
In questo programma si nota l'uso della sequenza else if. In generale è possibile costruire una sequenza di questo tipo.
if( condizione1 ) { A } else if( condizione 2 ) { B } else { C }
In esecuzione, si verifica prima se condizione1 è vera. Se lo è, si esegue A e si passa poi al seguito del programma. Se questa condizione è falsa, si va a vedere se condizione2 è vera o falsa. Nel primo caso, si esegue B, nel secondo caso si esegue C. La traduzione letterale dei termini inglesi aiuta a interpretare queste istruzioni:
se condizione1 è vera allora esegui A, altrimenti: se condizione2 è vera allora esegui B, altrimenti esegui C
Da notare che C viene eseguito solo se sia A che B sono falsi.