从命令行解析java中的布尔输入。

时间:2017-09-21 20:48:57

标签: java parsing boolean command-line-arguments

您好我需要从命令行读取boolean值。我是java的新手,所以经过一些基本的搜索后写了下面的代码。问题是如果我使用nextBoolean()函数,我得到inputmismatchexception。所以我必须编写if条件检查并对值进行硬编码。

public static void main(String[] args) {
    Scanner s = new Scanner(System.in);
    System.out.print("Enter Boolean Value: ");
    String value = s.nextLine();
    //Boolean myBoolVal = s.nextBoolean(); // Throws InputMismatchException if anything other than true/false is entered.
    Boolean myBoolVal = false;
    if (value.equalsIgnoreCase("true") || value.equals("1"))
    myBoolVal = true;
}

假设01也可以是integer类型,因此nextBoolean()会抛出异常。那么在java中从命令行读取boolean输入的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

从技术上讲,您只能在命令行中输入文本。方法nextBoolean仅接受文字"true" and returns true并接受文字"false" and returns false。如果你想解释文字" 0"作为假或" 1"为真或" f"作为假或" t"如果是真的那么你必须编写自己已经完成的代码。