【问题标题】:How do i input an If statement on to my program using JOption.pane?如何使用 JOption.pane 在我的程序中输入 If 语句?
【发布时间】:2015-04-01 23:33:31
【问题描述】:

您好,我是编程新手,在我的程序中添加 IF 语句时遇到了一些麻烦。我正在创建一个模块结果计算器,用户输入他们的考试和课程成绩分数,如果用户达到 40%,程序会回复“干得好,你通过了!”如果他们低于 40%,它会回复说“对不起,你失败了!”但是我有程序来计算分数,但消息没有显示在 GUI 上。 ![在此处输入图像描述][1] 我创建了另一个成功的,它在控制台而不是 GUI 上显示结果。

如果有人能在这种情况下帮助我编写代码,我将不胜感激。

class GUI{
public static void main(String[] args) {

        String result1 = JOptionPane.showInputDialog("Enter Coursework Result:");
        String result2 = JOptionPane.showInputDialog("Enter Exam Result:");


        int num1 = Integer.parseInt(result1);
        int num2 = Integer.parseInt(result2);
        int avg =  (num1 + num2)/2;

        if (avg<40)
           System.out.println("Your Test Score:  "+avg+"% Sorry But You Failed!");
        else if(avg<=100)
           System.out.println("Your Test Score:  "+avg+"% Well Done, You Passed!");
}
}

【问题讨论】:

  • 所以根本没有消息出现?我想这可能意味着avg 不满足成为&lt;40&lt;= 100 的条件。程序是否确定终止?此外,为了保持一致性,请尝试将结果读取并存储为ints。
  • 出现消息,进入考试然后课程作业,它只是没有在 GUI 上显示最终结果。
  • 如果你在最后放一条消息,只是说System.out.println("Finished!"),它会到达那里吗?
  • 不用第二个else if,只写if。由于您没有使用大括号,因此您似乎在进行“其他”比较。或者改为:if (avg&lt;40) { System.out.println("Your Test Score: "+avg+"% Sorry But You Failed!"); } else { System.out.println("Your Test Score: "+avg+"% Well Done, You Passed!"); }
  • 不,该消息没有出现在 GUI 上。

标签: java string if-statement joptionpane jcreator


【解决方案1】:

您需要将生成的消息存储在字符串中:

String message = "";
if (avg<40)
    message = "Your Test Score:  "+avg+"% Sorry But You Failed!";

else if(avg<=100)
    message = "Your Test Score:  "+avg+"% Well Done, You Passed!";  

然后您可以使用 JOptionPane 使用以下命令显示它:

JOptionPane.showMessageDialog(null, message);

您当前正在做的是使用System.out.println() 将结果打印到控制台。这不会将其打印到 GUI。 JOptionPane.showMessageDialog() 方法将显示一个对话框,其中包含您生成的消息。

【讨论】:

  • 干杯伙伴!你的救生员!
  • 当我按 F5 时如何在 GUI 上自动启动?
  • 如果您希望您的应用程序有一个实际的窗口而不是弹出窗口,您需要查看 JFrames。
  • 您需要了解如何使用 JFrame,这比使用应用程序 GUI 的简单语句要复杂得多。
猜你喜欢
  • 1970-01-01
  • 2019-11-01
  • 1970-01-01
  • 2015-05-01
  • 2016-11-09
  • 2016-06-09
  • 2016-11-12
  • 1970-01-01
  • 2019-11-05
相关资源
最近更新 更多