PROBLEM-sprawdzanie czy trojkat jest prostokatny-java

Oglądasz archiwalną wersję wątku "PROBLEM-sprawdzanie czy trojkat jest prostokatny-java" z forum pl.comp.lang.java



Robert - 14 Kwi 2005, 13:55
witam!

mam problem odnosnie stworzenia programu ktory ma sprawdzic czy trojkat jest

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");

                        }
                }
        }

}



--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl




pjaworek - 14 Kwi 2005, 14:08




   if (a*a + b*b = c*c){
                ^^

sprawdź sobie jak się piszę warunki a później wysyłaj posty na grupę                            



Konrad Garus - 14 Kwi 2005, 14:13

                                if (a*a + b*b = c*c){




Poza tym, nawet jeśli zamiast przypisania użyjesz porównania (operator
==), to i tak program nie zadziała. Dla danych wejściowych a=3, b=5, c=4
Twój program powie, że to nie trójkąt prostokątny - nigdzie nie
sprawdzasz, który z tych boków jest największy, a to ma być
przeciwprostokątna. Dla 0, 1, 1 też będzie trójkąt prostokątny, o ile
dobrze widzę.



Robert - 14 Kwi 2005, 15:23
doszedlem sam juz do tego ze brakuje drugiego  " = " po prostu rozpedzilem
sie :)

ale zdarza sie, dopiero sie zaczynam bawic w jave, a tak poza tym po to

Pozdrawiam


 Â  if (a*a + b*b = c*c){
 Â               ^^

sprawdź sobie jak się piszę warunki a później wysyłaj posty na



grupę                            

--
pozdro
pjaworek



--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl




Robert - 14 Kwi 2005, 15:25
a teraz musze dodac do tego kodu aby wyliczal pole tego trojkata, tzn jesli

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 (a*a + b*b == c*c){
                                double pole =(1/2)*a*b;
                                        System.out.println("to jest trojkat
prostokatny");
                                        System.out.println("pole wynosi: "
+pole);



pjaworek - 14 Kwi 2005, 16:18

a teraz musze dodac do tego kodu aby wyliczal pole tego trojkata, tzn jesli

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 (a*a + b*b == c*c){
                                double pole =(1/2)*a*b;
                                        System.out.println("to jest trojkat
prostokatny");
                                        System.out.println("pole wynosi: "
+pole);



a wiesz jak są wykonywane operacje na typach prostych w javie ?? jak
domyślnie kompilator reprezentuje literały co to są modyfikatory itd ???
jak nie to polecam "Java od podstaw do technologii" tom 1 i 2
K.Barteczko - wydawnictwo MIKOM. Nie dużo kosztuje a warto  od tego
zacząć, albo chociaż jakiś tutorial co ?



Robert - 14 Kwi 2005, 16:31
ja potrzebuje tylko sprecyzowac ten kod, nie mow mi o ksiazkach, pomoz mi czy
nie?


marcin czajka - 14 Kwi 2005, 17:28
kolega właśnie Tobie pomaga... z takim podejściem jak Twoje to raczej się
dużo nie nauczysz

ja potrzebuje tylko sprecyzowac ten kod, nie mow mi o ksiazkach, pomoz mi
czy
nie?

--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl





Arkadiusz Ryćkowski - 14 Kwi 2005, 17:45

witam!

mam problem odnosnie stworzenia programu ktory ma sprawdzic czy trojkat jest

[ciach]
                        }
                        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");



A dlaczego zakładasz że użytkownik jako parametr c poda ci
przeciwprostokątną ? Z programu to nie wynika

P. Arek



artur - 15 Kwi 2005, 04:54

a teraz musze dodac do tego kodu aby wyliczal pole tego trojkata, tzn jesli

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 (a*a + b*b == c*c){
                                double pole =(1/2)*a*b;
                                        System.out.println("to jest trojkat
prostokatny");
                                        System.out.println("pole wynosi: "
+pole);



Chlopak sie meczy i nikt mu nie pomoże.Pewnie, że powinien
poczytać ksiązki najpierw, ale może nie ma czasu, albo co?

masz tutaj 3 możliwości:

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

dostawałes wynik 0 dlatego, że dzieliłes 1/2 całkowicie, a
więc cześć całkowita jest 0 a ułamkowa 5/10. Zeby podzielić
otrzymac wyniki takie, jakie chcesz musisz albo zapisac obie
liczby jako ułamkowe -1.0 i 2.0, albo prościej zapisac to
jako 0.5. Mozesz każdą z nich rzutować na typ
zmiennoprzecinkowy, ale to w tym przykładzie niepotrzebne.
Co innego gdyby to były jakies zmienne.

pozdrawiam
artur



Robert - 15 Kwi 2005, 17:47
temat zamkniety, juz wszystko mi sprawnie dziala,

a poza tym to co to jest a,b i c to kazdy wie
to jest przeciez standardowy wzor i kazdy wie o co raczej chodzi, a poza tym
dopisanie czym jest jedno a czym drugie to tylko sprawy estetyczne, a ja nie
prosilem aby program wygladal idealnie, tylko zeby dzialal, a jak mi dziala to
juz uwazam post za zamkniety, a tak wogole to to forum jest dziwne, tzn
zanim sie otrzyma konkretna odpowiedz, to pierw uzytkownicy czepiaja sie o
nieistotne rzeczy, takze coz...
zas na innym dostawalem blyskawicznie odpowiedzi o cokolwiek bym zapytal i bez
zadnych glupich problemow, proponuje wam odpowiadac konkretami, a nie tak jak
to robicie w tym przypadku

Pozdrawiam



pjaworek - 15 Kwi 2005, 17:54

temat zamkniety, juz wszystko mi sprawnie dziala,

a poza tym to co to jest a,b i c to kazdy wie
to jest przeciez standardowy wzor i kazdy wie o co raczej chodzi, a poza tym
dopisanie czym jest jedno a czym drugie to tylko sprawy estetyczne, a ja nie
prosilem aby program wygladal idealnie, tylko zeby dzialal, a jak mi dziala to
juz uwazam post za zamkniety, a tak wogole to to forum jest dziwne, tzn
zanim sie otrzyma konkretna odpowiedz, to pierw uzytkownicy czepiaja sie o
nieistotne rzeczy, takze coz...
zas na innym dostawalem blyskawicznie odpowiedzi o cokolwiek bym zapytal i bez
zadnych glupich problemow, proponuje wam odpowiadac konkretami, a nie tak jak
to robicie w tym przypadku

Pozdrawiam



uuuuuuuu ale chłodem powiało
no to nas kolega zje...ł



president - 16 Kwi 2005, 09:49

uuuuuuuu ale chłodem powiało
no to nas kolega zje...ł



powinna powstac grupa
pl.comp.lang.kazdy-jezyk.musze-jutro-oddac-program
na ktorej nie powinno sie wymagac od pytajacych poznania chocby skladni
uzywanego jezyka :)

president


Bye, bye Java
Web Service C#.NET i klient Web Service w Java - XFire.
JAVA_HOME, JRE_HOME
Interfejs COM -> JNI -> Interfejs java
  • pielegniarki opieka kielce
  • czemu po moim routerze jest getaway a potem
  • kretynskie smsy od roznych reklamodawcow
  • smieszne teksty historie
  • drzewka do kupienia
  • katowice awf fizjoterapia egzaminy
  • java;warcaby
  • tunezyjski aar 1066 1820
  • o symbianie na powaC2 nie czyli
  • Zbieranina wiadomości z for dyskusyjnych || Indeks