replaceAll()方法无法处理用户输入字符串



代码如下:

package zad;
import java.util.*;
public class zadaca_palindrom {
public static void main(String[] args) {
Scanner unos = new Scanner(System.in);
System.out.println("Unesi recenicu:");
String str = unos.next();
String str1 = str.replaceAll("\s+", "");
System.out.println(str1);
}}

当我输入字符串时,例如"My name is John Doe",我希望我的程序删除空白。但当我运行它时,它只输出字符串的第一个单词(在本例中为"my"(。欢迎任何帮助!感谢

我相信你想读整行,而不仅仅是第一个单词。您应该使用nextLine((而不是next((

public class zadaca_palindrom {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("Unesi recenicu:");
String input = scanner.nextLine();
String noSpacesInput = input.replaceAll("\s+", "");
System.out.println(noSpacesInput);
}
}

最新更新