我编写了一个简单的程序,用于删除文本中的字母或单词。一切都很完美,但我不能在控制台中写“”[space]。当我这样做时它什么也没做。我应该怎么写入控制台告诉它我想从文本中删除空格?
import java.io.*;
import java.util.*;
public class StringDelete {
public static void main(String args[]) {
String x = "bla bla bla";
System.out.println(x);
System.out.println("What do you want to delete?");
Scanner sc = new Scanner(System.in);
String fr = sc.next();
int po = 0;
int le = x.length();
int i = 0;
do {
po = x.substring(i).indexOf(fr);
if (po != -1) {
x = x.substring(0, po+i) + x.substring(po+i + 1);
}
i += po;
}while(i<le&&po!=-1);
System.out.println(x);
}
}
答案 0 :(得分:0)
您应该将行String fr = sc.next();
替换为String fr = sc.nextLine();
。
您可以找到更多信息here。
答案 1 :(得分:0)
下面:
String fr = sc.next();
您正在使用next()
方法。
当此方法遇到空格字符时,它会返回该字符前的字符串。
例如:
因此,当你写“”(空格)时,它前面的字符串是空的String,它返回空字符串。
而不是next()
,请使用nextLine()
。
String fr = sc.nextLine();