usDollarAmountを渡すことなくプログラムを実行するか、プログラムをキャンセルするたびに例外が発生します...ユーザー入力を受け入れるためにスイングコンポーネントを使用しています。そうでなければプログラムは正常に動作します。私のコードでjava.lang.NullPointerExceptionを処理する方法を教えてもらえますか
おかげ
THE Currency CALCULATOR
Exception in thread "main" java.lang.NullPointerException
at sun.misc.FloatingDecimal.readJavaFormatString(Unknown Source)
at sun.misc.FloatingDecimal.parseDouble(Unknown Source)
at java.lang.Double.parseDouble(Unknown Source)
at Currency.main(Currency.java:28)
import java.text.DecimalFormat;
import javax.swing.JOptionPane;
public class Currency{
public static void main(String[] args)
{
// declare and construct variables
double usDollarAmount, poundsAmount,eurosAmount,rublesAmount;
DecimalFormat twoDigits = new DecimalFormat("####.00");
//print prompts and get input
System.out.println("\tTHE Currency CALCULATOR");
//print prompts and get input
usDollarAmount = Double.parseDouble(JOptionPane.showInputDialog(null, "Enter your dollar amount:"));
// calculations
poundsAmount = 0.64 * usDollarAmount;
eurosAmount = 0.91 * usDollarAmount ;
rublesAmount = 61.73 * usDollarAmount ;
// output
JOptionPane.showMessageDialog(null, "YOUR DOLLAR AMOUNT OF " + twoDigits.format(usDollarAmount) + " is equal to " + twoDigits.format(eurosAmount) + " euros" + " ," + twoDigits.format(poundsAmount) + " pounds" + " " + " and " + twoDigits.format(rublesAmount) + " rubles" );
System.exit(0);
}
}
最初に変数に入力を割り当てて、ヌルチェックを行います。 nullでない場合、構文解析を実行します –