-1

アプリケーションの計算ボタンをクリックすると、出力が JTextField に表示されます。しかし、常に先頭に「null」という文字列が追加されており、なぜこれが発生するのかを自分で説明することはできません。

関連するコードは次のとおりです。

total1.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
        String timeIn = tIn1.getText();
        String timeInArr[] = strtimein.split(":");
        double dblTimeInHr = Double.parseDouble(timeInArr[0]);
        double dblTimeInMin = Double.parseDouble(timeInArr[1]);
        double dblTotalTimeIn = dblTimeInHr + (dblTimeInMin/60);

        String timeOut = tOut1.getText();
        String timeOutArr[] = strtimeout.split(":");
        double dblTimeOutHr = Double.parseDouble(timeOutArr[0]);
        double dblTimeOutMin = Double.parseDouble(timeOutArr[1]);
        double dblTotalTimeOut = dblTimeOutHr + (dblTimeOutMin/60);

        totalHours = totalHours + (dblTotalTimeOut - dblTotalTimeIn);

        tal1.setText(totalHours);
     }
});

そして、ここに私のGUIの画面があります: タイムカード

なぜヌルがあるのですか?助けてください

4

1 に答える 1

2

あなたの最後の質問のコードがやや最近のものである場合、それはその行だと思います:

totalHours = totalHours + (dblTotalTimeOut - dblTotalTimeIn);

もしそうなら、それtotalHoursnull「null」をの結果と連結しますdblTotalTimeOut - dblTotalTimeIn(これは連結のために暗黙的に変換されStringます)。

の宣言はtotalHoursコードに含まれていないことに注意してください。したがってString、を呼び出すので、それは(あまり意味がありません)であると推測する必要がありますtal1.setText(totalHours);

于 2013-02-19T16:22:18.577 に答える