sprawdzanie czy trojkat jest prostokatny-java

0

witam!

mam problem odnosnie stworzenia programu ktory ma sprawdzic czy trojkat jest prostokatny, oczywiscie uzytkownik sam musi podac wspolczynniki, napisalem tak jak ponizej, niestety nie wiem co jest nie tak, jesli ktos ma jakies sugestie odnosnie tego bylbym wdzieczny o pomoc

public
class pierwiastki2
{
public static void main (String args[])
{
double a=0, b=0, c=0;
Reader r = new BufferedReader(new InputStreamReader(System.in));
StreamTokenizer inp = new StreamTokenizer(r);

	try{
		System.out.println("Podaj a:");
		while(inp.nextToken() != StreamTokenizer.TT_NUMBER){
			System.out.println("Nie podales poprawnej liczby\nPodaj b:");
		}
		a = inp.nval;
		System.out.println("Podaj b:");
		while(inp.nextToken() != StreamTokenizer.TT_NUMBER){
			System.out.println("Nie podales poprawnej liczby\nPodaj b:");
		}
		b = inp.nval;
		System.out.println("Podaj c:");
		while(inp.nextToken() != StreamTokenizer.TT_NUMBER){
			System.out.println("Nie podales poprawnej liczby\nPodaj c:");
		}
		c = inp.nval;
		}
		catch (IOException e){
			System.out.println("Blad odczytu");
			}
			System.out.println("Parametry rownania:/n");
			System.out.println("a=" +a + "b=" +b + "c=" +c +"/n");
		
			if (a*a + b*b = c*c){
			
				System.out.println("to jest trojkat prostokatny");
			}
			else{
				System.out.println("to nie jest trojkat prostokatny");
				
					
				
			
		}
	}
}

}

0

powinno być

...if (a*a + b*b == c*c)...
0

dzieki wielkie :), faktycznie, ehh te kody jeden glupi znaczek i nie dziala :),
a tak poza tym jeszcze byla o jeden za duza klamerka zamykajaca na koncu

0

a teraz musze dodac do tego kodu aby wyliczal pole tego trojkata, tzn jesli jest prostokatny to ma wyliczyc pole, napisalem takie cos w warunku if, czyli pododawalem tylko, nie jestem pewien czy dobra zmienna wprowadzilem, bo wykonaniu programu dla a=3, b=4, c=5 wyskakuje ze pole rowne 0, takze cos tu nie gra
Ps.
moze moje problemy wydadza sie smieszne ale ja dopiero zaczynam sie bawic w javie

if (aa + bb == c*c){
double pole =(1/2)ab;
System.out.println("to jest trojkat prostokatny");
System.out.println("pole wynosi: " +pole);

0

Jak podasz a=5, b=4, c=3 to też powinien wykryć że to jest prostokątny, nie?

0
sasza26 napisał(a)

a teraz musze dodac do tego kodu aby wyliczal pole tego trojkata, tzn jesli jest prostokatny to ma wyliczyc pole, napisalem takie cos w warunku if, czyli pododawalem tylko, nie jestem pewien czy dobra zmienna wprowadzilem, bo wykonaniu programu dla a=3, b=4, c=5 wyskakuje ze pole rowne 0, takze cos tu nie gra
Ps.
moze moje problemy wydadza sie smieszne ale ja dopiero zaczynam sie bawic w javie

if (aa + bb == c*c){
double pole =(1/2)ab;
System.out.println("to jest trojkat prostokatny");
System.out.println("pole wynosi: " +pole);

napisz:

double pole =(0.5)*a*b;
lub
double pole = (double)1/2 *a*b;

0

bucz nie powinien tak pokazac gdyz
wiadomo warunkiem sprawdzenia czy trojkat jest prostokatny jest twierdzenie pitagorasa
czyli a2 + b2 = c^2
:)

emte
dzieki wielkie :)
kolejna drobnostka byla hehe,

dzieki wielkie za Pomoc

0

bucz nie powinien tak pokazac gdyz
wiadomo warunkiem sprawdzenia czy trojkat jest prostokatny jest twierdzenie pitagorasa
czyli a2 + b2 = c^2

kto Ci powiedział, że twierdzenie Pitagorasa to a2+b2=c^2 ???? Twierdzenie Pitagorasa brzmi:

Twierdzenie Pitagorasa
Jeżeli trójkąt jest prostokątny, to suma kwadratów długości przyprostokątnych jest równa kwadratowi długości przeciwprostokątnej.

Więc po 1. w tym programie należy skorzystać z twierdzenia odwrotnego od twierdzenia Pitagorasa (wiem, wiem czepiam się ;P) a po 2. ten wzorek powyzej to bezsensowny zlepek literek i cyferek. zgadzam sie, ze w pewnych przypadkach ma on sens - np. jak opiszemy a, b i c jako przyprostokatne i przeciwprostokatna, albo dodamy rysunek...

Bucz ma rację, bo jezeli uzytkownik musi wprowadzic a i b jako potencjalne przyprostokatne to musi wiedziec wczesniej czy trojkat jest prostokatny!! - zakladajac, ze uruchomi program 1 raz ;)

proponuje za przeciwprostokatna(c) przyjac najdluzszy bok, a za przyprostokatne dwa pozostale (a i b) --> program bedzie ogolniejszy ;D

moznaby tez w ogole sprawdzac czy z odcinkow o podanych dlugosciach da sie zbudowac trojkat (taki bonus ;P). Suma dlugosci kazdych dwoch odcinkow musi byc wieksza od dlugosci trzeciego.

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