DaveTaylor
Orihinal na poster- Nob 6, 2007
- Aberdeenshire, Scotland
- Ene 25, 2010
Tulong? lol
iShater
- Agosto 13, 2002
- Chicagoland
- Ene 25, 2010
stanl8
- Disyembre 24, 2009
- Manchester, UK
- Ene 25, 2010
bumalik ('' + BMI);
Ibig sabihin, ang '+' operator ay magsasagawa ng concatenation.
Pangalawa, hindi ko maintindihan kung kailan ipapatupad ang mga if statement na iyon dahil mayroon kang return statement sa itaas na palaging ipapatupad D
DaveTaylor
Orihinal na poster- Nob 6, 2007
- Aberdeenshire, Scotland
- Ene 25, 2010
Sinabi ng iShater: Maaari mo bang i-post ang aktwal na error? Bakit ang iyong return statement ay bago ang katapusan ng iyong pamamaraan? I-click para palawakin...
Ang aktwal na error ay doble ay hindi maaaring i-dereference.
Cromulent
- Oktubre 2, 2006
- Ang Lupain ng Pag-asa at Kaluwalhatian
- Ene 25, 2010
Pangalawa ang iyong pamamaraan ay nagbabalik ng doble ngunit sinusubukan mong ibalik ang isang string sa iyong if.. else na mga pahayag.
Pangatlo kapag tumatawag sa toString() na paraan kailangan mong gamitin ang object na Double kaysa sa primitive na uri. Kaya dapat mong ideklara ang BMI bilang Double (java.lang.Double) sa halip na doble.
Narito ang isang simpleng halimbawa:
Code: |_+_|
chown33
Moderator
Miyembro ng tauhan- Agosto 9, 2009
- ang Abysmal Plane
- Ene 25, 2010
Sinabi ni DaveTaylor: Ang aktwal na error ay doble ay hindi maaaring i-dereference. I-click para palawakin...
Una, hindi mo magagawa ito:
Code: |_+_|
dahil ang BMI ay idineklara bilang doble , ang primitive na uri. Ang Java ay hindi gumaganap ng autoboxing sa sitwasyong ito, bilang naaalala ko.
Kung ang BMI ay idineklara bilang Doble , ang klase ng wrapper para sa primitive na uri, kung gayon maaari itong gumana...
Maliban na hindi mo magagawa ito:
Code: |_+_|
dahil ang Java ay hindi awtomatikong nagdaragdag ng () para sa iyo. Kung gusto mong i-invoke ang toString method sa isang object, kailangan mong isulat ito bilang method invocation:
Code: |_+_|
Kung hindi ka gumagamit ng tutorial o libro, dapat talaga.
lee1210
- Ene 10, 2005
- Dallas, TX
- Ene 25, 2010
-Basahin C
cx300
- Setyembre 12, 2008
- Clermont, FL
- Ene 25, 2010
Code: |_+_|
chown33
Moderator
Miyembro ng tauhan- Agosto 9, 2009
- ang Abysmal Plane
- Ene 25, 2010
Sabi ni cx300: Medyo kinakalawang ang java ko pero dapat tama ito...
Code: |_+_| I-click para palawakin...
Kapag ang kalkulasyon ay (timbang/(mass * mass)) na walang ibang coefficients, ang height units ay metro at mass (weight) units ay kilo. Kung ang taas ay maaari lamang tumagal sa integer meter (1, 2, 3), mayroon kang malubhang problema sa katumpakan.
http://en.wikipedia.org/wiki/Body_mass_index
Gayundin, ang mga uri na ito ay hindi kailanman gagawa ng anumang fractional na halaga sa resulta, dahil ang pagkalkula ay ganap na isinasagawa sa integer arithmetic (i.e. truncating division), pagkatapos ay ang integer na resulta ay na-convert sa doble. Kung gusto mo ng dobleng kalkulasyon na may posibilidad ng isang fractional na bahagi, hindi bababa sa isang operand ay dapat na doble ang uri.
Hindi sa tingin ko ang problemang ito ay natatangi sa Java. Magkakaroon ka ng mga katulad na problema sa C, na may mga katulad na panuntunan para sa integer at double arithmetic.
Patok Na Mga Post