您好我需要从命令行读取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;
}
假设0
或1
也可以是integer
类型,因此nextBoolean()
会抛出异常。那么在java中从命令行读取boolean
输入的最佳方法是什么?
答案 0 :(得分:0)
从技术上讲,您只能在命令行中输入文本。方法nextBoolean
仅接受文字"true" and returns true
并接受文字"false" and returns false
。如果你想解释文字" 0"作为假或" 1"为真或" f"作为假或" t"如果是真的那么你必须编写自己已经完成的代码。