java - 为什么我没有从 NetBeans GUI 中的 if 语句获得输出?

标签 java user-interface if-statement netbeans

我正在做一项作业,我必须创建一个“理想体重”计算器(有点像 BMI 计算器)。用户应该输入他们的高度、姓名和他们希望收到答案的测量系统。

即;测量系统 = (M)etric 或 (I)mperial,其中用户输入“m”或“i”。这意味着他们输入的高度必须与他们选择的单位相对应。

即;高度= 1.5 米或 59 英寸(除非他们不写单位,只写数字)。

我已尝试修复可能存在的任何语法错误,目前不再有任何错误,但当我单击计算按钮时,我的 GUI 仍然不会输出任何内容。我不确定它出了什么问题。请帮我。这项总结性作业将于今晚到期,但我无法成功完成它:(((

String strName, strSystem;
strName=this.jTextField1.getText();
strSystem=this.jTextField2.getText().toUpperCase();

if(strSystem.equals("M"))
{
    double height = Double.parseDouble(lblHeight.getText());
    double weight = height*height*25;
    this.lblOutput.setText(strName + "'s Ideal Weight is:" + weight + "Kg");
}
else if (strSystem.equals("I"))
{
    double height = Double.parseDouble(lblHeight.getText());
    double weight = (height*height*25)/703;
    this.lblOutput.setText(strName+ "'s Ideal Weight is:" + weight + "lb");
}
else
{
this.lblOutput.setText(strSystem);
}

GUI 应该使用以下公式来计算他们在“测量系统”中选择的单位的“理想体重”。

*公式:

公制:体重(公斤)=高度(米)×高度(米)×25

英制:重量(磅)= 高度(英寸)× 高度(英寸)× 25 ÷ 703*

GUI 应该看起来像这样:

*姓名:伊娃

测量系统[(M)etric 或(I)mperial]:M

高度 [(M) 英寸或 (I) 英寸]:1.5

输出:Eva 的理想体重是 ___kg。*

最佳答案

if-else if block 中,您将 lblOutput 的文本设置为消息,但在最后一行,您将其设置为 ""+ strSystem,这可能会覆盖您之前设置的内容。尝试将其放入 else block 中:

else if (strSystem.equals("I"))
{
    double height = Double.parseDouble(lblHeight.getText());
    double weight = (height*height*25)/703;
    this.lblOutput.setText(strName+ "'s Ideal Weight is:" + weight + "lb");
}
else
{
    this.lblOutput.setText("" + strSystem);
}

关于java - 为什么我没有从 NetBeans GUI 中的 if 语句获得输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57045541/

相关文章:

java - 编写一个 gradle 脚本,将所有依赖项保存到 ${projectDir}/lib 文件夹中

java - 如何制作带有 Cocoa UI 的 Java 应用程序?

reactjs - 在 React Native 中的 const 中插入 if/else 语句的正确方法?

java - 我的应用程序 "find frequency of audio input from microphone"总是崩溃。但为什么?

Java - 从二维数组列表读取数据时遇到问题

c# - DataGridView:摆脱单元格验证

html - 如何在我的网站上制作精美的 Angular 落

c - Noob C 帮助 - 在开关/外壳内循环?

javascript - 简化检查 "null or empty"以查找 IF 语句中的多个变量

java - RMI:在服务器端等待的线程