Dave Taylor
Orijinal afiş- 6 Kasım 2007
- Aberdeenshire, İskoçya
- 25 Oca 2010
Yardım? çok komik
iShater
- 13 Ağu 2002
- Chicagoland
- 25 Oca 2010
stanl8
- 24 Aralık 2009
- Manchester, Birleşik Krallık
- 25 Oca 2010
dönüş ('' + BMI);
Yani, '+' operatörü birleştirme gerçekleştirecektir.
İkincisi, bu if ifadelerinin ne zaman yürütüleceğini anlamıyorum çünkü yukarıda her zaman yürütülecek bir return deyiminiz var. NS
Dave Taylor
Orijinal afiş- 6 Kasım 2007
- Aberdeenshire, İskoçya
- 25 Oca 2010
iShater dedi ki: Asıl hatayı gönderebilir misiniz? Dönüş ifadeniz neden yönteminizin bitiminden önce? Genişletmek için tıklayın...
Gerçek hata double is referansı kaldırılamaz.
kromülent
- 2 Ekim 2006
- Umut ve Zafer Ülkesi
- 25 Oca 2010
İkincisi, yönteminiz bir çift döndürür, ancak if.. else ifadelerinizde bir dize döndürmeye çalışıyorsunuz.
Üçüncü olarak, toString() yöntemini çağırırken, ilkel tür yerine Double nesnesini kullanmanız gerekir. Bu yüzden BMI'yi double yerine Double (java.lang.Double) olarak beyan etmelisiniz.
İşte basit bir örnek:
Kod: |_+_|
chown33
moderatör
Personel- 9 Ağu 2009
- Abismal Uçak
- 25 Oca 2010
DaveTaylor dedi ki: Gerçek hata double, referans alınamaz. Genişletmek için tıklayın...
İlk olarak, bunu yapamazsınız:
Kod: |_+_|
BMI olarak bildirildiği için çift , ilkel tür. Java, hatırladığım kadarıyla bu durumda otomatik kutulama yapmıyor.
BMI olarak ilan edilirse Çift , ilkel tür için sarmalayıcı sınıfı, o zaman işe yarayabilir ...
Bunu yapamazsınız dışında:
Kod: |_+_|
çünkü Java sizin için ()'leri otomatik olarak eklemez. Bir nesne üzerinde toString yöntemini çağırmak istiyorsanız, onu bir yöntem çağrısı olarak yazmanız gerekir:
Kod: |_+_|
Bir öğretici veya kitap kullanmıyorsanız, gerçekten kullanmalısınız.
Lee1210
- 10 Oca 2005
- Dallas, Teksas
- 25 Oca 2010
-Okumak C
cx300
- 12 Eylül 2008
- Clermont, Florida
- 25 Oca 2010
Kod: |_+_|
chown33
moderatör
Personel- 9 Ağu 2009
- Abismal Uçak
- 25 Oca 2010
cx300 dedi ki: Java'm biraz paslı ama bu doğru olmalı...
Kod: |_+_| Genişletmek için tıklayın...
Hesaplama (ağırlık/(kütle * kütle)) olduğunda, başka katsayılar olmadan, yükseklik birimleri metre, kütle (ağırlık) birimleri ise kilogramdır. Yükseklik sadece tamsayılı metre (1, 2, 3) alabiliyorsa, ciddi bir hassasiyet probleminiz var demektir.
http://en.wikipedia.org/wiki/Body_mass_index
Ayrıca, bu türler hiçbir zaman sonuçta herhangi bir kesirli değer üretmeyecektir, çünkü hesaplama tamamen tamsayı aritmetiğinde (yani, budanan bölme) yapılır, ardından tamsayı sonucu ikiye dönüştürülür. Kesirli kısım olasılığı ile ikili bir hesaplama istiyorsanız, en az bir işlenen double türünde olmalıdır.
Bu sorunun Java'ya özgü olduğunu düşünmüyorum. Tamsayı ve çift aritmetik için benzer kuralları olan C'de de benzer problemler yaşarsınız.
Popüler Mesajlar