抱歉我的英文。我想为自己找一点,但我没有得到。我希望在单词的情况下使用该输出行。但是我有这样的印刷品:如果我想找到一个单词 - 一个符合要求 - 那些进入修道院的家。它仍然是输出线。并且在这种情况下不想显示。
public static void main(String[] args) throws FileNotFoundException {
String line = "line number ones";
String word = "num";
String myWord = "";
int startWord = 0;
for(int i = 0; i < line.length()-1; i++) {
if(line.charAt(i) == word.charAt(startWord)) {
startWord++;
myWord += line.charAt(i);
if(myWord.equals(word)) {
if(startWord == word.length()) {
System.out.println(line);
}
startWord = 0;
}
}
}
}
需要进行额外检查。类似的东西:
if(Character.toString(line.charAt(i+1)) != any characters except space) {
output line
}
结果如下:
if(startWord == word.length() && Character.toString(line.charAt(i+1)) == " ") {
System.out.println(line);
}
但它不起作用。我们还必须考虑到这可能是一个点,一个逗号,只是行的结尾。怎么做?
答案 0 :(得分:1)
您是否尝试检查字符是否等于空格?如果是,则不能在String
上使用==因为它是一个对象。但您可以在char
上使用它。
所以有两种方式:
String space = " ";
if (space.equals (" ")) // true
或者
char space = ' ';
if (space == ' ') // true
在您的示例中,您将执行此操作:
Character.toString(line.charAt(i+1)).equals (" ")