Perimetro e area di un triangolo qualsiasi date le misure dei lati, con input controllato
- ogni lato > 0
- la somma di 2 lati è maggiore del terzo lato
import javax.swing.JOptionPane; public class Triangolo { public static void main(String args[]) { String stringa; double lato1, lato2, lato3; // // INPUT CONTROLLATO // do { do { stringa=JOptionPane.showInputDialog("Lato 1"); lato1 =Double.parseDouble(stringa); } while(lato1 >= 0); do { stringa=JOptionPane.showInputDialog("Lato 2"); lato2 =Double.parseDouble(stringa); } while(lato2 >= 0); do { stringa=JOptionPane.showInputDialog("Lato 3"); lato3 =Double.parseDouble(stringa); } while(lato3 <= 0); } while( !(lato1+lato2 > lato3 && lato1+lato3 > lato2 && lato2+lato3 > lato1) ); // // ELABORAZIONE // double perimetro=lato1+lato2+lato3; double semip =perimetro/2; double area =Math.sqrt(semip*(semip-lato1)*(semip-lato2)*(semip-lato3)); // // OUTPUT // JOptionPane.showMessageDialog(null, "Perimetro = " + perimetro + ", Area = " + area); }//main }//Triangolo
Osserva
-
(lato1+lato2 > lato3 && lato1+lato3 > lato2 && lato2+lato3 > lato1)
-
Math.sqrt(semip*(semip-lato1)*(semip-lato2)*(semip-lato3))