เดฟเทย์เลอร์
โปสเตอร์ต้นฉบับ- 6 พ.ย. 2550
- อเบอร์ดีนเชอร์ สกอตแลนด์
- 25 ม.ค. 2553
ช่วย? ฮ่า ๆ
iShater
- 13 ส.ค. 2545
- ชิคาโกแลนด์
- 25 ม.ค. 2553
stanl8
- 24 ธ.ค. 2552
- แมนเชสเตอร์ สหราชอาณาจักร
- 25 ม.ค. 2553
ผลตอบแทน ('' + BMI);
กล่าวคือ ตัวดำเนินการ '+' จะดำเนินการต่อกัน
ประการที่สอง ฉันไม่เข้าใจว่าคำสั่ง if นั้นจะถูกดำเนินการเมื่อใด เพราะคุณมีคำสั่ง return ด้านบนที่จะดำเนินการเสมอ NS
เดฟเทย์เลอร์
โปสเตอร์ต้นฉบับ- 6 พ.ย. 2550
- อเบอร์ดีนเชอร์ สกอตแลนด์
- 25 ม.ค. 2553
iShater กล่าวว่า: คุณสามารถโพสต์ข้อผิดพลาดจริงได้หรือไม่? เหตุใดคำสั่ง return ของคุณจึงอยู่ก่อนสิ้นสุดวิธีการของคุณ คลิกเพื่อขยาย...
ข้อผิดพลาดที่เกิดขึ้นจริงเป็นสองเท่าไม่สามารถอ้างอิงได้
Cromulent
- 2 ต.ค. 2549
- ดินแดนแห่งความหวังและความรุ่งโรจน์
- 25 ม.ค. 2553
ประการที่สอง เมธอดของคุณคืนค่าเป็นสองเท่า แต่คุณกำลังพยายามส่งคืนสตริงในคำสั่ง if..el ของคุณ
ประการที่สามเมื่อเรียกใช้เมธอด toString() คุณต้องใช้อ็อบเจ็กต์ Double แทนที่จะเป็นประเภทดั้งเดิม ดังนั้นคุณควรประกาศ BMI เป็นสองเท่า (java.lang.Double) แทนที่จะเป็นสองเท่า
นี่เป็นตัวอย่างง่ายๆ:
รหัส: |_+_|
chown33
พิธีกร
พนักงาน- 9 ส.ค. 2552
- เครื่องบิน Abysmal
- 25 ม.ค. 2553
DaveTaylor กล่าวว่า: ข้อผิดพลาดที่เกิดขึ้นจริงเป็นสองเท่าไม่สามารถยกเลิกการอ้างอิงได้ คลิกเพื่อขยาย...
ขั้นแรก คุณไม่สามารถทำได้:
รหัส: |_+_|
เพราะ BMI ถูกประกาศเป็น สองเท่า , ประเภทดั้งเดิม Java จะไม่ทำการ autoboxing ในสถานการณ์นี้ อย่างที่ฉันจำได้
ถ้า BMI ถูกประกาศเป็น สองเท่า , คลาส wrapper สำหรับประเภทดั้งเดิม มันอาจจะใช้ได้...
ยกเว้นว่าคุณไม่สามารถทำสิ่งนี้ได้:
รหัส: |_+_|
เพราะ Java ไม่ได้เพิ่ม () ให้คุณโดยอัตโนมัติ หากคุณต้องการเรียกใช้เมธอด toString บนอ็อบเจ็กต์ คุณต้องเขียนเป็นวิธีเรียกใช้เมธอด:
รหัส: |_+_|
ถ้าคุณไม่ได้ใช้บทช่วยสอนหรือหนังสือ คุณก็ควรทำอย่างนั้นจริงๆ
lee1210
- 10 ม.ค. 2548
- ดัลลาส, TX
- 25 ม.ค. 2553
-อ่าน ค
cx300
- 12 ก.ย. 2551
- Clermont, FL
- 25 ม.ค. 2553
รหัส: |_+_|
chown33
พิธีกร
พนักงาน- 9 ส.ค. 2552
- เครื่องบิน Abysmal
- 25 ม.ค. 2553
cx300 กล่าวว่า: java ของฉันมีสนิมเล็กน้อย แต่น่าจะถูกต้อง ...
รหัส: |_+_| คลิกเพื่อขยาย...
เมื่อคำนวณเป็น (น้ำหนัก/(มวล * มวล)) โดยไม่มีสัมประสิทธิ์ใดๆ หน่วยความสูงคือเมตร และหน่วยมวล (น้ำหนัก) คือกิโลกรัม หากความสูงรับได้เฉพาะเมตรจำนวนเต็ม (1, 2, 3) แสดงว่าคุณมีปัญหาความแม่นยำอย่างมาก
http://en.wikipedia.org/wiki/Body_mass_index
นอกจากนี้ ประเภทเหล่านี้จะไม่สร้างค่าเศษส่วนใดๆ ในผลลัพธ์ เนื่องจากการคำนวณดำเนินการทั้งหมดในรูปแบบเลขคณิตจำนวนเต็ม (เช่น การหารแบบตัดทอน) จากนั้นผลลัพธ์จำนวนเต็มจะถูกแปลงเป็นสองเท่า หากคุณต้องการการคำนวณแบบทวีคูณที่มีความเป็นไปได้ของเศษส่วน อย่างน้อยหนึ่งตัวถูกดำเนินการต้องเป็นประเภทสองเท่า
ฉันไม่คิดว่าปัญหานี้เกิดเฉพาะกับ Java คุณจะมีปัญหาคล้ายกันใน C ซึ่งมีกฎคล้ายกันสำหรับเลขจำนวนเต็มและเลขคณิตคู่
โพสต์ยอดนิยม