以下のプログラムで困っています。「値」の後に double 値が続く形式の入力を希望し、入力がこの形式でない場合は、エラー メッセージを返したいと考えています。基本的に、最初の単語が「値」であることを確認し (そうでない場合は「false」を返します)、別のトークンがあり、このトークンが double であることを確認します (そうでない場合は、返されます)。間違い)。ただし、入力として「値」を入力しただけでは、プログラムは「期待される値」を返す代わりに、別のトークンが入力されるのを待つだけなので、問題があります。したいように。コードは次のとおりです。
import java.util.Scanner;
public class scanCheck {
public static void main(String[] args) {
Scanner kb = new Scanner(System.in);
double a;
String str;
str = kb.next();
if (!str.equals("value"))
System.out.print("Invalid format.");
else {
if (kb.hasNext())
if (kb.hasNextDouble())
a = kb.nextDouble();
else
System.out.println("Value expected.");
else
System.out.println("Value expected.");
}
}
}
ありがとうございました!