Mikä tökkii??
Ohjelma toimii, jos reaalijuuria ei löydy tai niitä on vain yksi, mutta viimeinen else ei toimi vaikka menee BlueJ:n kääntäjästä läpi.
public class Yhtalo44
{
public static void main(String[] args)
{
double x1;
double x2;
System.out.println("Anna a ");
int a = Lue.kluku();
System.out.println("Anna b");
int b = Lue.kluku();
System.out.println("Anna c");
int c = Lue.kluku();
double D = b*b - 4*a*c;
if (D < 0)
System.out.println("Yhtälöllä ei ole reaalijuuria ");
else if (D==0)
System.out.println(" Yhtälön ainoa juuri on x1=x2=" -b/2*a ".");
else
{
x1= (-b Math.sqrt(D))/(2*a);
x2= (-b-Math.sqrt(D))/(2*a);
System.out.println("x1 =" x1 ", x2 =" x2);
}
}
}
Ohjelma toimii, jos reaalijuuria ei löydy tai niitä on vain yksi, mutta viimeinen else ei toimi vaikka menee BlueJ:n kääntäjästä läpi.
public class Yhtalo44
{
public static void main(String[] args)
{
double x1;
double x2;
System.out.println("Anna a ");
int a = Lue.kluku();
System.out.println("Anna b");
int b = Lue.kluku();
System.out.println("Anna c");
int c = Lue.kluku();
double D = b*b - 4*a*c;
if (D < 0)
System.out.println("Yhtälöllä ei ole reaalijuuria ");
else if (D==0)
System.out.println(" Yhtälön ainoa juuri on x1=x2=" -b/2*a ".");
else
{
x1= (-b Math.sqrt(D))/(2*a);
x2= (-b-Math.sqrt(D))/(2*a);
System.out.println("x1 =" x1 ", x2 =" x2);
}
}
}
Vastaukset 1
Vanhimmat
Sulla on kokonaislukuja ja liukulukuja sekaisin. Vikoja tulee ainakin pyöristyksistä. Katso myös että et vertaa liukulukua kokonaislukunollaan.