【问题标题】:Java Contain method cannot find symbolJava 包含方法找不到符号
【发布时间】:2021-08-11 02:42:11
【问题描述】:

我试图仅从文本文件中打印包含单词“The”的字符串,但包含方法似乎不起作用。有没有其他方法可以做到这一点或修复包含方法?

import java.util.*;
import java.io.*;
public class FileNerd
{
public static void main(String args[]) throws IOException 
{
    Scanner alpha = new Scanner(new File("E:\\temp_Larry\\NerdData.txt."));
    
    int maxIndx = -1;
    String text[] = new String[100];
    
    while(alpha.hasNext())
    {
        text[++maxIndx]=alpha.nextLine();
    }
    alpha.close();
    if(alpha.contains("The"))
    {
        System.out.println(alpha);
    } 
}   

}

【问题讨论】:

  • 那甚至不会编译。您需要在数组的每个字符串元素上调用 contains

标签: java loops if-statement contains


【解决方案1】:

您在Scanner 对象上调用contains,您应该在从文件读取的行上调用它,这就是读取它们的全部意义,对吗?遍历行并在这些行上调用contains,如下所示:

for (int i = 0; i< maxIndx; i++) {
  // Do whatever with text lines
  System.out.println(text[i].contains("The"));
}

【讨论】:

    【解决方案2】:

    我在您的代码中发现了一些错误并尝试将其删除

    1.Scanner alpha = new Scanner(new File("E:\temp_Larry\NerdData.txt.")); 更正:Scanner alpha = new Scanner(new File("E:\temp_Larry\NerdData.txt"));

    2.scanner类里面有这样的方法调用 删除:if(alpha.contains("The")) 正确:

    【讨论】:

    • 1.while(alpha.hasNext()){ System.out.println((text[++maxIndx]=alpha.nextLine()).contains("The"))} 2. for (int i = 0; i
    猜你喜欢
    • 1970-01-01
    • 2018-07-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-08
    • 1970-01-01
    • 1970-01-01
    • 2014-02-05
    相关资源
    最近更新 更多