// Fil: LO1E6.java // Förslag till lösning // // Programmet löser andragradsekvationer med reella rötter // extrapaketet ska användas till in- och utmatning import extra.*; public class LO1E6 { public static void main(String[] args) { double a, b, c, rot1, rot2; Std.out.print("Ge tre koefficienter (a, b och c): "); a = Std.in.readDouble(); b = Std.in.readDouble(); c = Std.in.readDouble(); while(a!=0 || b!=0 || c!=0) { if (a!=0 && b*b>=4*a*c) { rot1 = -b/(2*a) + Math.sqrt(b*b/(4*a*a) - c/a); rot2 = -b/(2*a) - Math.sqrt(b*b/(4*a*a) - c/a); Std.out.println("Rötterna är: " + rot1 + " och " + rot2); } else { if (a==0) { Std.out.println("Fel: Den första koefficienten a får inte vara noll."); Std.out.println("Detta är inte en andragradsekvation."); } if (b*b<4*a*c) { Std.out.println("Fel: b*b/(4*a*a) - c/a måste vara större än noll, men är: " + (b*b/(4*a*a) - c/a)); Std.out.println("Rötterna är ej reella."); } } Std.out.print("Ge tre koefficienter (a, b och c): "); a = Std.in.readDouble(); b = Std.in.readDouble(); c = Std.in.readDouble(); } } }