Java 扫描器类故障
我正在为我的计算机应用程序内部评估准备一个JAVA项目,尽管该类没有发现语法错误,但我在调用该方法时遇到了一个错误。 这是我的代码:Java 扫描器类故障,java,Java,我正在为我的计算机应用程序内部评估准备一个JAVA项目,尽管该类没有发现语法错误,但我在调用该方法时遇到了一个错误。 这是我的代码: package CommandPromptBrowser.GoogleWebsite; import java.util.*; class Commandprompt { Scanner sc=new Scanner(System.in); Searchbox se=new Searchbox(); Titl
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错误通常来自无限递归,但这里的情况似乎并非如此。此外,请解释该计划的目的。我看不出你在这里试图做什么有任何意义。虽然这确实是一个很好的说法,但这并不能回答问题,也不能回答选民的问题