DaveTaylor
poster asli- 6 November 2007
- Aberdeenshire, Skotlandia
- 25 Januari 2010
Membantu? tertawa terbahak-bahak
iShater
- 13 Agustus 2002
- Chicagoland
- 25 Januari 2010
stanl8
- 24 Desember 2009
- Manchester, Inggris
- 25 Januari 2010
kembali ('' + BMI);
Artinya, operator '+' akan melakukan penggabungan.
Kedua, saya tidak mengerti kapan pernyataan if akan dieksekusi karena Anda memiliki pernyataan pengembalian di atas yang akan selalu dieksekusi D
DaveTaylor
poster asli- 6 November 2007
- Aberdeenshire, Skotlandia
- 25 Januari 2010
iShater berkata: Bisakah Anda memposting kesalahan yang sebenarnya? Mengapa pernyataan pengembalian Anda sebelum akhir metode Anda? Klik untuk memperluas...
Kesalahan sebenarnya adalah ganda tidak dapat direferensikan.
Cromulent
- 2 Oktober 2006
- Tanah Harapan dan Kemuliaan
- 25 Januari 2010
Kedua metode Anda mengembalikan dobel namun Anda mencoba mengembalikan string dalam pernyataan if..else Anda.
Ketiga saat memanggil metode toString() Anda perlu menggunakan objek Double daripada tipe primitif. Jadi, Anda harus mendeklarasikan BMI sebagai Double (java.lang.Double) daripada double.
Berikut adalah contoh sederhana:
Kode: |_+_|
chown33
moderator
Anggota staff- 9 Agustus 2009
- Pesawat Luar Biasa
- 25 Januari 2010
DaveTaylor berkata: Kesalahan sebenarnya adalah ganda tidak dapat direferensikan. Klik untuk memperluas...
Pertama, Anda tidak dapat melakukan ini:
Kode: |_+_|
karena BMI dinyatakan sebagai dobel , tipe primitif. Java tidak melakukan autoboxing dalam situasi ini, seingat saya.
Jika BMI dinyatakan sebagai Dobel , kelas pembungkus untuk tipe primitif, maka itu mungkin berhasil ...
Kecuali bahwa Anda tidak dapat melakukan ini:
Kode: |_+_|
karena Java tidak secara otomatis menambahkan () untuk Anda. Jika Anda ingin memanggil metode toString pada suatu objek, Anda harus menulisnya sebagai pemanggilan metode:
Kode: |_+_|
Jika Anda tidak menggunakan tutorial atau buku, Anda seharusnya menggunakannya.
lee1210
- 10 Januari 2005
- Dallas, Texas
- 25 Januari 2010
-Membaca C
cx300
- 12 September 2008
- Clermont, Florida
- 25 Januari 2010
Kode: |_+_|
chown33
moderator
Anggota staff- 9 Agustus 2009
- Pesawat Luar Biasa
- 25 Januari 2010
cx300 berkata: Java saya sedikit berkarat tetapi ini seharusnya benar ...
Kode: |_+_| Klik untuk memperluas...
Jika perhitungannya adalah (berat/(massa * massa)) tanpa koefisien lain, satuan tinggi adalah meter dan satuan massa (berat) adalah kilogram. Jika ketinggian hanya dapat mengambil meter bilangan bulat (1, 2, 3), Anda memiliki masalah presisi yang serius.
http://en.wikipedia.org/wiki/Body_mass_index
Juga, jenis ini tidak akan pernah menghasilkan nilai pecahan apa pun dalam hasilnya, karena perhitungan dilakukan sepenuhnya dalam aritmatika bilangan bulat (yaitu memotong pembagian), kemudian hasil bilangan bulat diubah menjadi dua kali lipat. Jika Anda menginginkan perhitungan ganda dengan kemungkinan bagian pecahan, setidaknya satu operan harus bertipe ganda.
Saya tidak berpikir masalah ini unik untuk Java. Anda akan memiliki masalah serupa di C, yang memiliki aturan serupa untuk bilangan bulat dan aritmatika ganda.
Pesan Populer