Eq2GrSentinella.java
Created with JBuilder |
import javabook.*;
class Eq2GrSentinella {
public static void main(String[] args) {
// Dichiaro e creo gli oggetti necessari per l'IO
MainWindow finestra = new MainWindow("Equazioni di secondo grado");
InputBox richiestaDati = new InputBox(finestra, "Inserimento dati");
OutputBox uscitaDati = new OutputBox(finestra, "Risultati");
// Rendo visibile la finestra principale
finestra.show();
// Richiedo i coefficienti dell'equazione
// NOTA: le variabili sono inizializzate a 0. Questo fa si
// che il ciclo while di controllo inizi e richieda i dati
double a = 0, b = 0, c = 0;
while (a == 0) {
a = richiestaDati.getFloat("Inserisci il valore di a: ");
}
while (b == 0) {
b = richiestaDati.getFloat("Inserisci il valore di b: ");
}
c = richiestaDati.getFloat("Inserisci il valore di c: ");
// a e b sono diversi da 0, l'equazione è non degenere
// Procedo con il calcolo del discriminante
double delta = Math.pow(b,2) - 4 * a * c;
if (delta > 0) {
// Le soluzioni sono reali e distinte
double x1 = (-b + Math.sqrt(delta)) / (2 * a);
double x2 = (-b - Math.sqrt(delta)) / (2 * a);
// Visualizza le soluzioni
uscitaDati.printLine("Le soluzioni sono reali e distinte. ");
uscitaDati.print("Il valore di x1 è ");
uscitaDati.printLine(x1);
uscitaDati.print("Il valore di x2 è ");
uscitaDati.printLine(x2);
} else if (delta < 0) {
// Le soluzioni sono complesse coniugate
uscitaDati.printLine("Le soluzioni sono complesse coniugate. ");
} else {
// Le soluzioni sono reali e coincidenti
double x = -b / (2 * a);
// Visualizza le soluzioni
uscitaDati.printLine("Le soluzioni sono reali e coincidenti. ");
uscitaDati.print("Il valore di x1,x2 è ");
uscitaDati.printLine(x);
}
// Visualizza i messaggi
uscitaDati.show();
} // Fine di main
}
Eq2GrSentinella.java
Created with JBuilder |