Dave'as Tayloras
Originalus plakatas- 2007 m. lapkričio 6 d
- Aberdynšyras, Škotija
- 2010 m. sausio 25 d
Pagalba? daug juoko
iShater
- 2002 m. rugpjūčio 13 d
- Čikagalandas
- 2010 m. sausio 25 d
stanl8
- 2009 m. gruodžio 24 d
- Mančesteris, JK
- 2010 m. sausio 25 d
grįžti ('' + KMI);
Tai reiškia, kad operatorius „+“ atliks sujungimą.
Antra, aš nesuprantu, kada tie if sakiniai kada nors bus vykdomi, nes aukščiau yra grąžinimo sakinys, kuris visada bus vykdomas D
Dave'as Tayloras
Originalus plakatas- 2007 m. lapkričio 6 d
- Aberdynšyras, Škotija
- 2010 m. sausio 25 d
iShater pasakė: Ar galite paskelbti tikrąją klaidą? Kodėl jūsų grąžinimo pareiškimas pateikiamas prieš metodo pabaigą? Spustelėkite norėdami išplėsti...
Tikroji klaida yra dviguba, jos negalima atmesti.
Kromulentinis
- 2006 m. spalio 2 d
- Vilties ir šlovės žemė
- 2010 m. sausio 25 d
Antra, jūsų metodas grąžina dvigubą, tačiau jūs bandote grąžinti eilutę savo if.. else teiginiuose.
Trečia, iškviečiant metodą toString() reikia naudoti objektą Double, o ne primityvų tipą. Taigi turėtumėte paskelbti KMI kaip dvigubą (java.lang.Double), o ne dvigubą.
Štai paprastas pavyzdys:
Kodas: |_+_|
chown33
Moderatorius
Darbuotojas- 2009 m. rugpjūčio 9 d
- bedugnė plokštuma
- 2010 m. sausio 25 d
DaveTaylor sakė: Tikroji klaida yra dviguba, negalima atmesti nuorodos. Spustelėkite norėdami išplėsti...
Pirma, jūs negalite to padaryti:
Kodas: |_+_|
nes KMI deklaruojamas kaip dvigubai , primityvus tipas. „Java“, kaip prisimenu, šioje situacijoje nevykdo automatinio dėžės.
Jei KMI būtų deklaruotas kaip Dvigubas , primityviojo tipo įvyniojimo klasė, tada ji gali veikti...
Išskyrus tai, kad negalite to padaryti:
Kodas: |_+_|
nes Java automatiškai neprideda () už jus. Jei objekte norite iškviesti metodą toString, turite jį parašyti kaip metodo iškvietimą:
Kodas: |_+_|
Jei nenaudojate mokymo programos ar knygos, tai tikrai turėtumėte.
lee1210
- 2005 m. sausio 10 d
- Dalasas, Teksasas
- 2010 m. sausio 25 d
- Skaityk C
cx300
- 2008 m. rugsėjo 12 d
- Klermonas, Florida
- 2010 m. sausio 25 d
Kodas: |_+_|
chown33
Moderatorius
Darbuotojas- 2009 m. rugpjūčio 9 d
- bedugnė plokštuma
- 2010 m. sausio 25 d
cx300 pasakė: Mano java yra šiek tiek surūdijusi, bet tai turėtų būti teisinga...
Kodas: |_+_| Spustelėkite norėdami išplėsti...
Kai skaičiuojama (svoris/(masė * masė)) be kitų koeficientų, aukščio vienetai yra metrai, o masės (masė) – kilogramai. Jei aukštis gali siekti tik sveikų skaičių metrų (1, 2, 3), turite rimtą tikslumo problemą.
http://en.wikipedia.org/wiki/Body_mass_index
Be to, šie tipai niekada neduos rezultato trupmeninės reikšmės, nes skaičiuojama tik sveikųjų skaičių aritmetika (t. y. sutrumpinamas padalijimas), tada sveikasis rezultatas konvertuojamas į dvigubą. Jei norite dvigubo skaičiavimo su trupmeninės dalies galimybe, bent vienas operandas turi būti dvigubo tipo.
Nemanau, kad ši problema būdinga tik Java. Turėtumėte panašių problemų su C, kuri turi panašias sveikųjų skaičių ir dvigubos aritmetikos taisykles.
Populiarios Temos