二重符号を読み取り、正方形を印刷するコードを作成しようとしていますが、ユーザーが負の定数または非倍精度定数を入力して新しい数。私はInputMismatchExceptionに問題があります。私のコードは正しく動作せず、コンパイルされますが、コンパイラは永遠に実行されます。どんな提案も役に立ちます。InputMismatchExceptionが正しく使用されていない問題
import java.util.*;
class constants
{
public static void main(String[] args)
{
double constant = getConstant();
System.out.println("Square of " + constant + " = " + constant*constant);
}
//-------------------------------------------------------------------------------
public static double getConstant()
{
Scanner kb = new Scanner(System.in);
System.out.println("Enter non-negative double constant");
double constant = kb.nextDouble();
try {
double selection = kb.nextDouble();
}
catch (InputMismatchException e) // where there is error.
{
System.out.println("Not a double constant. Re-enter");
}
return constant;
}
}