首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Java赋值的空指针异常

Java赋值的空指针异常
EN

Stack Overflow用户
提问于 2013-09-15 07:15:08
回答 2查看 450关注 0票数 0

我有一个任务,我必须从一个文件(或标准输入,如果没有文件)中获取URL,然后计算该方案等于某些事物的次数,以及当域等于某些事物时的次数。

这是我的代码的一部分,它接受输入,将其划分为方案和域,然后在找到特定单词时增加变量。然而,我一直收到NullPointerException,我不知道为什么。现在,这段代码在第16行出现了错误,如果有任何帮助,我们将不胜感激。

代码语言:javascript
复制
File file = new File("input");
Scanner scan = new Scanner("input");
Scanner scan2 = new Scanner(System.in);
while (!scan.next().equals("end") || !scan2.next().equals("end")) {
    if (scan.hasNext() == true) {
        url = scan.nextLine();
    }
    String[] parts = url.split(":");
    scheme = parts[0];
    schemeSP = parts[1];
    if (scheme == "http") {
        httpCt++;
    }
    if (scheme == "https") {
        httpsCt++;
    }
    if (scheme == "ftp") {
        ftpCt++;
    } else {
        otherSchemeCt++;
    }
    for (int j = 0; j < schemeSP.length(); j++) {
        if (schemeSP.charAt(j) == '.') {
            domain = schemeSP.substring(j);
        }
    }
    if (domain == "edu") {
        eduCt++;
    }
    if (domain == "org") {
        orgCt++;
    }
    if (domain == "com") {
        comCt++;
    } else {
        otherDomainCt++;
    }
    fileLinesCt++;
    totalLinesCt++;
}
EN

Stack Overflow用户

发布于 2013-09-15 07:52:36

我注意到一个特别突出的问题。

代码语言:javascript
复制
File file = new File("input");
Scanner scan = new Scanner("input");

Scanner使用的是String constructor,而不是File构造函数。我相信你已经打算这么做了:

代码语言:javascript
复制
Scanner scan = new Scanner(new File("input"));

如果没有它,你就是在扫描单词"input“。

此外,您没有正确比较String%s。您总是将它们与.equals()方法进行比较。

任何像scheme == "http"这样的语句都应该改为"http".equals(scheme)

票数 2
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18807319

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档