我正在尝试使用一种方法来计算旅行的持续时间,使用以下方法:
private void updateTripDurationText()
{
String speed = (String)avgspeedBox.getSelectedItem();
String dist = (String)distanceText.getText();
double s = Double.parseDouble(speed);
double d = Double.parseDouble(dist);
double durationTime = d/s;
String dTime = String.format("1%.1f", Double.toString(durationTime));
durationText.setText(dTime);
}
虽然我可以运行该程序,但我收到一个涉及空字符串的错误。prgram 有 3 个组合框。您在哪里选择 A 和 B 位置,然后它会拉开距离。我希望第三个组合框(速度)将持续时间计算为距离/速度,然后将其放入文本框中。我哪里错了?
这是动作监听器:
private class ComboBoxListener implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
setCities(destinationBox.getSelectedIndex(),originBox.getSelectedIndex());
updateDistanceText();
updateTripDurationText();
}
}
将其分成不同的事件处理程序后,我遇到了计算不正确的问题。持续时间的计算返回非常大的值。