问题描述
我正在我的程序中编写此方法,该程序将文本文件解析为XML。用户提供文件的分隔符。该文件可能用逗号,冒号,制表符或竖线分隔。以下方法适用于逗号,但不适用于其他方法3.提前感谢您的帮助。
public static String getSeparator(String separator) {
Scanner userInput = new Scanner(system.in);
do {
System.out.println("Enter the separator type (commas,Colons,Tabs,Pipes)");
separator = userInput.nextLine();
} while (!separator.equals(",") || separator.equals(":") || separator.equals(" ") || separator.equals("|"));
return separator;
}
解决方法
您需要在整个条件周围加上一个括号。
while (!(separator.equals(",") || separator.equals(":") || separator.equals(" ") || separator.equals("|")));
更好的方法是定义分隔符的String数组:
String[] seperators = new String[] {",",":"," ","|"};
然后检查它是否在列表中:
} while (!Arrays.asList(seperators).contains(seperator));