对于一项作业,我正在尝试一种方法,该方法从用户读取名称并对其进行测试,以确保该名称不包含冒号,制表符或换行符。如果是这样,将输出一条消息,指出它不符合要求。
以下方法:
static String validRName(){
Scanner sc = new Scanner(System.in);
String rName = sc.next();
if(rName.contains("\t") || rName.contains("\n")
|| rName.contains(":")){
System.out.println("Real name cannot contain tabs, newline, or colon characters.");
System.exit(0);
}
return rName;
}
它成功地拾取了名称中的冒号,但是当其中包含制表符时它不起作用。如果其中有一个选项卡,则该选项卡之前的所有内容均被视为用户名,并且代码将继续显示,而不会显示错误消息。
我在做什么错了?