基于父母身高与性别估算孩子身高的Java程序开发求助
解决Java孩子身高估算程序的计算问题
嘿,我完全懂你折腾好几个小时却得不到正确结果的挫败感!咱先把核心的身高估算逻辑捋清楚,再给你一套能跑通的完整代码示例。
首先明确正确的估算公式
目前常用的基于父母身高和孩子性别的简易估算公式是:
- 男孩预估身高 = (父亲总身高 + 母亲总身高 + 5英寸) / 2
- 女孩预估身高 = (父亲总身高 + 母亲总身高 - 5英寸) / 2
注意:所有身高要先统一转换成英寸计算,最后再转回英尺+英寸的格式(1英尺=12英寸)
完整可运行的Java代码示例
import java.util.Scanner; public class ChildHeightEstimator { public static void main(String[] args) { Scanner scan = new Scanner(System.in); // 读取父亲身高(英尺+英寸) System.out.print("请输入父亲身高(英尺):"); int dadFeet = scan.nextInt(); System.out.print("请输入父亲身高(英寸):"); int dadInches = scan.nextInt(); int dadTotalInches = dadFeet * 12 + dadInches; // 读取母亲身高(英尺+英寸) System.out.print("请输入母亲身高(英尺):"); int momFeet = scan.nextInt(); System.out.print("请输入母亲身高(英寸):"); int momInches = scan.nextInt(); int momTotalInches = momFeet * 12 + momInches; // 读取孩子性别 System.out.print("请输入孩子性别(男/女):"); String gender = scan.next(); // 计算预估身高(总英寸) int childTotalInches = 0; if (gender.equalsIgnoreCase("男")) { childTotalInches = (dadTotalInches + momTotalInches + 5) / 2; } else if (gender.equalsIgnoreCase("女")) { childTotalInches = (dadTotalInches + momTotalInches - 5) / 2; } else { System.out.println("性别输入错误,请输入'男'或'女'"); scan.close(); return; } // 转换回英尺+英寸格式 int childFeet = childTotalInches / 12; int childRemainingInches = childTotalInches % 12; // 输出结果 System.out.printf("预估孩子身高为:%d英尺%d英寸%n", childFeet, childRemainingInches); scan.close(); } }
你可能踩过的坑
- 单位转换错误:忘记1英尺等于12英寸,直接用英尺数值计算,导致结果偏差极大
- 公式性别搞反:把男孩的加5英寸弄成女孩的,或者反之
- 输入处理遗漏:没有把父母的英尺和英寸统一转换成总英寸就直接计算,逻辑断层
你可以把这段代码替换你原来的逻辑,测试一下预期输出,应该就能得到正确结果啦!
内容的提问来源于stack exchange,提问作者Damon W
相关产品推荐
相关产品推荐

