rozwiązania równania kwadratowego-metoda

0

Siema.Miałem do napisania metode wypisujaca rozwiązania równania kwadratowego.Po wprowadzeniu wielu poprawek i zmian nie moge wyeliminować jednego błędu,który kompilator zaznacza mi w 3 linijce kodu.Wspomina coś o boolean,którego nigdzie nie użyłem i nie wiem co jest źle.Będe wdzięczny jak mi ktos wyjaśni w czym jest problem.
PS:nie moge używać wbudowanych metod.

public class zadanie7 {
	public static void main(String[]args)
		{System.out.println(wielomian(3, 3, -3));
		}
	
	public static void wielomian(double a,double b,double c)
		{double x1, x2, x12;
		if(a!=0)
			{double delta=b*b-4*a*c;
				if(delta>=0)
					{x1=(- b - Math.sqrt(delta) ) / 2*a +(- b - Math.sqrt(delta) )%2*a;
					x2=(- b + Math.sqrt(delta) ) / 2*a + (- b + Math.sqrt(delta) )%2*a  ;
					System.out.println(x1+" i "+x2);
					}
				else {System.out.println("brak rozwiazan"); }
			}
		else if(b!=0)
				{if(c!=0)
					{System.out.println("brak rozwiązań"); }
				else{System.out.println("wszystkie liczby rzeczywiste spełniają rónanie"); }
				}
			  else {System.out.println(x12=-c/b); }
		}
	
}

I jeszcze jedno pytanie:jak obliczyć pierwiastek dowolnego stopnia lub przynajmniej kwadratowy z liczby (własna metoda zamiast Math.sqrt)? Jest na to jakiś wzór?

0

chcesz zwrócić wartość czegoś co jest typem void

System.out.println(wielomian(3, 3, -3))

zamień na

wielomian(3,3,-3)
0

Poszukaj wzorów na pierwiastki równania kwadratowego, stosujesz błędne.
Co chcesz wyświetlić tym kodem

System.out.println(x12=-c/b)

Wyświetlisz słowo true lub false.

0

else if(b!=0)
ma być:
else if(b==0)

1 użytkowników online, w tym zalogowanych: 0, gości: 1