空间进入控制台

  • 本文关键字:控制台 空间 java
  • 更新时间 :
  • 英文 :


我写了一个简单的程序,从文本中删除字母或单词。一切正常,但我无法在控制台中写" " [空格]。当我这样做时,它什么也没做。我应该在控制台中写入什么来告诉它我想从文本中删除空格?

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);
}
}

在这里:

String fr = sc.next();

您正在使用next()方法。

当此方法遇到空格字符时,它将返回该字符之前的字符串。

例如:

  • 对于"ASD FGH",它返回 ASD"。
  • 对于"xyz">
  • ,它返回"xyz">
  • 对于" "
  • 它瓮 "(空字符串(

因此,当你写" "(空格(时,它前面的字符串是空字符串,它返回空字符串。

代替next(),使用 nextLine()

String fr = sc.nextLine();

您应该将行String fr = sc.next();替换为 String fr = sc.nextLine();

您可以在此处找到更多信息。

最新更新