Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 扫描器类故障_Java - Fatal编程技术网

Java 扫描器类故障

Java 扫描器类故障,java,Java,我正在为我的计算机应用程序内部评估准备一个JAVA项目,尽管该类没有发现语法错误,但我在调用该方法时遇到了一个错误。 这是我的代码: package CommandPromptBrowser.GoogleWebsite; import java.util.*; class Commandprompt { Scanner sc=new Scanner(System.in); Searchbox se=new Searchbox(); Titl

我正在为我的计算机应用程序内部评估准备一个JAVA项目,尽管该类没有发现语法错误,但我在调用该方法时遇到了一个错误。 这是我的代码:

    package CommandPromptBrowser.GoogleWebsite;
    import java.util.*;
    class Commandprompt
    {
    Scanner sc=new Scanner(System.in);
    Searchbox se=new Searchbox();
    Title ti=new Title();
    Searchresults sr=new Searchresults();
    String cmd;
    String key;
    void commandBox()
    {
        System.out.println("***");
        cmd=sc.next();
        key=sc.next();
    }  
    boolean typeCommand()
    {
        if(cmd.equals("type>box"))
        {
            return(true);
        }
        else 
        {
            return(false);
        }
    }
    boolean clickCommand()
    {
        if(cmd.equals("click>button"))
        {
            if(key.equals(se.search))
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
        else
        {
            return(false);
        }
    }
    void commands()
    {
        boolean res;
        if(res=typeCommand())
        {
            se.searchBox(key);
            commandBox();
        }
        else if(res=clickCommand())
        {
            sr.resultScreen();
            commandBox();
        }
    }
}
如果调用名为Googleclient的方法,则会出现以下错误:

java.lang.StackOverflowError:
null(in java.lang.String)
我认为问题在于Scanner类对象。 我想提到Googleclient类的代码-

    package CommandPromptBrowser.GoogleWebsite;
public class Googleclient
{
    Title ti=new Title();
    Searchbox sea=new Searchbox();
    Commandprompt cp=new Commandprompt();
    public void clientRunner()
    {
        ti.welcomeScreenTitle();
        sea.emptySearchBox();
        cp.commandBox();
        cp.clickCommand();
        cp.typeCommand();
        cp.commands();
    }
}

请尽快回复。请….

如果cmd为null,此操作将失败null has not equals方法:

if(cmd.equals("type>box"))
尝试将其替换为:

if("type>box".equals(cmd))

请尽快回复。请-这不是工作原理。耐心点,我相信迟早会有人帮你的。你的commands方法似乎有问题。Java中的包名应该以小写字母开头。Googleclient看起来不是一个方法,而是一个类。请发布完整堆栈跟踪。StackOverFlow错误通常来自无限递归,但这里的情况似乎并非如此。此外,请解释该计划的目的。我看不出你在这里试图做什么有任何意义。虽然这确实是一个很好的说法,但这并不能回答问题,也不能回答选民的问题