Deivs Teilors
Oriģinālais plakāts- 2007. gada 6. novembris
- Aberdīnšīra, Skotija
- 2010. gada 25. janvāris
Palīdzēt? lol
iShater
- 2002. gada 13. augusts
- Čikāgas zeme
- 2010. gada 25. janvāris
stanl8
- 2009. gada 24. decembris
- Mančestra, Lielbritānija
- 2010. gada 25. janvāris
atgriezties ('' + ĶMI);
Tas nozīmē, ka operators “+” veiks savienošanu.
Otrkārt, es nesaprotu, kad tie if paziņojumi kādreiz tiks izpildīti, jo jums ir iepriekš norādītais atgriešanas paziņojums, kas vienmēr tiks izpildīts D
Deivs Teilors
Oriģinālais plakāts- 2007. gada 6. novembris
- Aberdīnšīra, Skotija
- 2010. gada 25. janvāris
iShater teica: vai varat publicēt faktisko kļūdu? Kāpēc jūsu atgriešanas paziņojums ir pirms metodes beigām? Noklikšķiniet, lai izvērstu...
Faktiskā kļūda ir dubultā, uz to nevar atsaukt atsauci.
Kromulents
- 2006. gada 2. oktobris
- Cerības un godības zeme
- 2010. gada 25. janvāris
Otrkārt, jūsu metode atgriež dubulto, bet jūs mēģināt atgriezt virkni savos if.. else paziņojumos.
Treškārt, izsaucot toString() metodi, ir jāizmanto objekts Double, nevis primitīvais tips. Tāpēc jums vajadzētu deklarēt ĶMI kā dubultu (java.lang.Double), nevis dubultu.
Šeit ir vienkāršs piemērs:
Kods: |_+_|
chown33
Moderators
Darbinieks- 2009. gada 9. augusts
- bezdibenis plakne
- 2010. gada 25. janvāris
Deivs Teilors teica: faktiskā kļūda ir dubultā, nevar atsaukt. Noklikšķiniet, lai izvērstu...
Pirmkārt, jūs nevarat darīt:
Kods: |_+_|
jo ĶMI ir deklarēts kā dubultā , primitīvais tips. Java neveic autoboxing šajā situācijā, kā es atceros.
Ja ĶMI būtu deklarēts kā Dubults , iesaiņojuma klase primitīvajam tipam, tad tas varētu darboties...
Izņemot to, ka jūs to nevarat izdarīt:
Kods: |_+_|
jo Java automātiski nepievieno () jūsu vietā. Ja vēlaties objektam izsaukt metodi toString, tas ir jāieraksta kā metodes izsaukums:
Kods: |_+_|
Ja neizmantojat pamācību vai grāmatu, jums tas tiešām ir jādara.
lee1210
- 2005. gada 10. janvāris
- Dalasa, Teksasa
- 2010. gada 25. janvāris
-Izlasi C
cx300
- 2008. gada 12. septembris
- Klermona, Florida
- 2010. gada 25. janvāris
Kods: |_+_|
chown33
Moderators
Darbinieks- 2009. gada 9. augusts
- bezdibenis plakne
- 2010. gada 25. janvāris
cx300 teica: Mana java ir nedaudz sarūsējusi, bet tam vajadzētu būt pareizi...
Kods: |_+_| Noklikšķiniet, lai izvērstu...
Ja aprēķins ir (svars/(masa * masa)) bez citiem koeficientiem, augstuma mērvienības ir metri, bet masas (svara) vienības ir kilogrami. Ja augstums var sasniegt tikai veselus metrus (1, 2, 3), jums ir nopietna precizitātes problēma.
http://en.wikipedia.org/wiki/Body_mass_index
Turklāt šie tipi rezultātos nekad neradīs daļskaitļu vērtību, jo aprēķins tiek veikts tikai veselu skaitļu aritmētikā (t.i., sadalot sadalīšanu), pēc tam veselo skaitļu rezultāts tiek pārvērsts dubultā. Ja vēlaties veikt dubultu aprēķinu ar daļdaļas iespēju, vismaz vienam operandam ir jābūt dubultā tipa.
Es nedomāju, ka šī problēma ir raksturīga tikai Java. Jums būtu līdzīgas problēmas ar C, kurai ir līdzīgi veselo skaitļu un dubultās aritmētikas noteikumi.
Populārākas Posts