【发布时间】:2018-10-09 13:56:09
【问题描述】:
*这是我第一次使用 GUI,我似乎错过了我的眼睛无法捕捉到的东西。代码对我来说看起来不错,但是当我将其提交给 autoLab 时出现此错误,我无法弄清楚我哪里出错了。
{"correct":false,"feedback":"(class java.lang.NumberFormatException)
Error while attempting to call static method q2() on input [1]}
问题题是q5:
编写一个名为 q5 的公共静态方法,它不接受任何参数并返回一个 JPanel。 该面板将包含 1 个带有任意列数的 JTextField、1 个带有任意标签的 JButton、 和 1 个 JLabel。该面板将具有这样的功能,当用户输入数字时 文本字段(我们将此值称为 x)并按下标签将显示的按钮 标准形式的抛物线的 y 值 (https://www.desmos.com/calculator/zukjgk9iry) 其中 a=5.37、b=-6.07 和 c=2.0 在文本字段的 x 值处
提示:如果将 y 存储在包装类 Double 而不是原始 double 中,则可以 对其调用 toString 将其转换为可用作标签文本的字符串 提示:单击按钮后,您可能需要调整窗口大小才能看到结果 框架不会自动调整大小以适应新文本
不要在您的问题集问题中创建任何 JFrame。这样做会使 自动评分器,因为评分服务器没有显示 JFrame 的屏幕。 相反,只在问题集方法中返回所需的 JPanel 并使用 JFrame 进行测试 在您的主要方法或其他未分级的辅助方法中
这是我写的代码
public static JPanel q5() {
JPanel panel = new JPanel();
JTextField textField = new JTextField(5);
panel.add(textField);
JLabel label = new JLabel("hello!");
panel.add(label);
JButton button = new JButton("Click Me!");
panel.add(button);
button.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e){
int x = Integer.parseInt(textField.getText());
double a=5.37*Math.pow(x, 2);
double b=-6.07*x;
double c=2.0;
String answer= ("y = " + a+ b +c);
label.setText(answer);
}
});
return panel;
}
你能解释一下我哪里出错了吗,谢谢。
【问题讨论】:
-
什么是方法 q2()?它看起来像什么?
标签: java user-interface