Equazione2Grado.java
Created with JBuilder |
import javabook.*;
// NOTA: i metodi "sqrt" e "pow" della classe Math, non sono
// richiamati a partire da un oggetto Math, ma sono
// richiamati utilizzando la classe stessa. Si tratta
// di metodi particolari (anche i "main" hanno la stessa
// proprietà) che sono definiti per un'intera classe
// e non per il singolo oggetto (si veda l'unità didattica
// 3 per ulteriori approfondimenti).
class Equazione2Grado {
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 dichiarate quando servono e inizializzate
// con il risultato dei metodi "getFloat" di richiestaDati
double a = richiestaDati.getFloat("Inserisci il valore di a: ");
double b = richiestaDati.getFloat("Inserisci il valore di b: ");
double c = richiestaDati.getFloat("Inserisci il valore di c: ");
if ((a != 0) && (b != 0)) {
// 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);
}
} else {
// L'equazione è degenere
uscitaDati.printLine("L'equazione è degenere.");
}
// Visualizza i messaggi
uscitaDati.show();
} // Fine di main
Equazione2Grado.java
Created with JBuilder |