Java 如果用户输入带有多个空格的字符串,如何重新提示用户输入
因此,我想知道如何检查用户输入的字符串是否有多个空格,如果它的单词之间有多个空格,我希望重新提示用户输入。我使用的是do-while循环。格式如下:Java 如果用户输入带有多个空格的字符串,如何重新提示用户输入,java,string,input,whitespace,Java,String,Input,Whitespace,因此,我想知道如何检查用户输入的字符串是否有多个空格,如果它的单词之间有多个空格,我希望重新提示用户输入。我使用的是do-while循环。格式如下: Scanner scanner01 = new Scanner(System.in); String inputLast; do { System.out.println("Enter a valid LAST name: "); inputLast = scanner01.nextLine(); } while() 有关如何用单
Scanner scanner01 = new Scanner(System.in);
String inputLast;
do {
System.out.println("Enter a valid LAST name: ");
inputLast = scanner01.nextLine();
} while()
有关如何用单个空格替换多个空格的说明,请参见。一种解决方案是(基于此):
scannerScanner01=新扫描仪(System.in);
字符串输入;
做{
System.out.println(“输入有效的姓氏:”);
inputLast=scanner01.nextLine();
如果(inputLast.length()-inputLast.replaceAll(“,”).length(),为什么不删除额外的空格,而不是用它来烦扰用户呢?因为输入可以在单词之间至少有一个连续的空格。当用户输入两个连续的空格时,应该是出现错误的时候。
Scanner scanner01 = new Scanner(System.in);
String inputLast;
do {
System.out.println("Enter a valid LAST name: ");
inputLast = scanner01.nextLine();
if(inputLast.length() - inputLast.replaceAll(" ", "").length() <= 1){
break;
}
} while(true);
String str = "Sam ple";
Pattern pattern = Pattern.compile("\\s{2,}");
Matcher matcher = pattern.matcher(str);
boolean check = matcher.find();