to re a im jsou globalní proměny nechce mi to šlapat já chci aby reálná a imaginární číslo mělo dvě desetinná místa, ale zatím mi ten program jen padá... Děkuju...
co chces proboha mazat... jedno cislo mas v promenne "this" a druhe v "num"... tak to ted udelej poradne a premejslej pri tom - nejde psat programy, aniz bys pri tom pouzil mozek.. dokonce ani v jave (ikdyz se to snazi hone eliminovat :))
Nahlásit jako SPAM
IP: 94.113.92.–
Program vždy dělá to co naprogramujete, ne to co chcete...
mimochodem - u takovyhle metody bych skoro cekal, ze se vynasobi to cislo u ktereho to volas, tim se kterym to volas. Zmenilo by se pak volajici a vracelo by se akorat this...
(ikdyz asi by ses zasekl na "strelbe do vlastni nohy")
Nahlásit jako SPAM
IP: 94.113.92.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Teď jsem to předělal stále mi to nevychází mám pocit, že mi to počítá se sečtenýma komplexníma čísly, které mám v předchozí metodě...
public Complex add(Complex num) {
return new Complex(re + num.re, im + num.im);
}
public Complex mul(Complex num) {
return new Complex (re * num.re - im * num.im, re * num.im + im * num.re);
}
nechápu proč mi to teď nevychází, můžete mi někdo poradit, proč mi to nefunguje...
#15lekejs
mel by ses naucit supertajne umeni programatoru - rika se tomu debug hlasky - vypsat si vse co pocitas a co vychazi a pak to kontrolovat pekne v klidku (ne jen divoce odhadovat ze to nejak nevychazi - nic takovyho neexistuje)
Nahlásit jako SPAM
IP: 93.91.152.–
Program vždy dělá to co naprogramujete, ne to co chcete...
#19KIIV
Jen doplním, že normální IDE aspoň v době kdy jsem naplno programoval já, poskytovaly pro ladění nenahraditelné prostředky krokování, výpisy obsahů proměnných, procházení strukturou objektů atd.
Takže nějaké pomocné výpisy jsou jen trapná a pracná náhražka...
#20JoDiK
tak ja pracuju se softwarem, kde v uplne nejlepsim pripade dostaneme core dump... v lepsim aspon debug vypisy a v nejhorsim jen velice priblizny popis chyby (obcas i docela zavadejici) s pomerne kratkejma timeoutama zprav a tak..
Tak me musis omluvit, ze krokovani pouzivam uz jen u atmel AVR, kdyz vse ostatni selhalo :D (coz uz sem taky nejak dlouho nedelal)
+ nejen krokovani, ale musis ho taky naucit pridavat promenny na sledovani a tak ... a stejne mam pocit ze se ti na to vykasle
Nahlásit jako SPAM
IP: 93.91.152.–
Program vždy dělá to co naprogramujete, ne to co chcete...
#14KIIV
V jave teda aspon podla blocha je velmi dobre robit objekty co najviac immutable, kvoli zabezpeceniu. Cize skorej ako vytvorit Complex object ktory vie menit hodnoty hodnoty real a im a mat na ne setery je lepsie si vytvorit nieco ako Builder (String builder) a Complex nechat immutable. Videl by som to asi takto:
class ComplexNumberBuilder{
private double re, im;
public ComplexNumberBuilder(ComplexNumber c) {
this.re = c.getReal();
this.im = c.getImaginary();
}
...
public ComplexNumberBuilder mul(ComplexNumber b) {
this.re = this.re * b.re - this.im * b.im;
this.im = this.re * b.im + this.im * b.re;
}
public ComplexNumberBuilder add(ComplexNumber b) {
this.re += b.re;
this.im += b.im;
}
...
public ComplexNumber build() {
return new ComplexNumber(this.re, this.im);
}
}