我在遇到以下程序時遇到問題。我希望輸入的形式爲「value」後跟一個double值,如果輸入不是這種形式,我想返回一條錯誤消息。基本上,我想檢查第一個單詞是「價值」(如果不是,返回「假」),那麼我想檢查是否有另一個令牌,並且這個令牌是雙精度(如果不是這樣,返回假)。但是,我遇到了麻煩,因爲如果我只是輸入「value」作爲輸入,程序只是等待我輸入另一個標記,而不是返回「預期值」。就像我想要的那樣。下面的代碼:Java - 如何掃描令牌並在令牌存在後檢查該令牌並且是雙倍令牌
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.");
}
}
}
謝謝!
好了,這使得很多更有意義,並可能更人性化的反正。非常感謝! – user2565646
很高興能幫到您 –