0

コードを理解するのに助けが必要です。

public class ComputeLoanUsingInputDialog{
    public static void main(String[] args){
        String annulInterestRateString = JOptionPane.ShowInputDialog("Enter annual interest rate:")

        // convert string to double
        double annualInterestRate = Double.parseDouble(annualInterestRateString);

        //Obtain monthly interest rate
        double monthlyInterestRate = annualInterestRate/1200;

        .....
    }
}

私の質問は、ユーザーに数値を挿入するように求めるダイアログ ボックスが表示されている場合、変数を文字列から double に変換するために parse メソッドを使用する必要があるのはなぜですか?

4

4 に答える 4

1

Java は入力を a として受け入れるため、それをdoubleに解析するように指示するまでString、取得しているものは a ではありません。doubleString

于 2013-04-26T01:37:08.210 に答える
1

double は、文字列よりも数学的に操作する方がはるかに簡単だからです。

ダイアログ ボックスから年利を文字列として取得します。これはオンライン ドキュメントから確認できます(1 つを除くすべてがStringを返し、 を返すものはObject関数のシグネチャと一致しません)。

ただし、文字列型の操作以外はあまりできません。

数学的に操作したい場合 (あなたの場合は 1200 で割るなど)、何らかの記述の数値型に変換する必要があります。

これで、以下を提供するように変更できます。JOptionPane

double JOptionPane.ShowInputDialogGetDouble (...);

しかし、これにより大量の新しいコード (タイプごとに 1 つ) が導入され、多くの余分なエラー チェックが行われます。これは、現在のメソッドで非常に簡単に実行できるため、正直言って不要ですDouble.parseDouble()

于 2013-04-26T01:37:09.820 に答える
1

JOptionPane.showInputDialog()を返すためString、ユーザーはテキスト フィールドに数字以外の文字を自由に入力できるためです。

于 2013-04-26T01:38:18.560 に答える
0

JOptionPane は、戻り値として String オブジェクトを返します。

http://docs.oracle.com/javase/6/docs/api/javax/swing/JOptionPane.html#showInputDialog(java.awt.Component , java.lang.Object)

(URL を 1 つのリンクとして表示することはできません。全体をコピーする必要があります。

戻り値の型が double の場合、解析する必要はありません。

于 2013-04-26T01:37:12.293 に答える