Java 如果没有静态关键字,则无法从静态上下文引用非静态方法hasNextLine()
下面的代码用于检查给定的单词或字符串是否为pangram。但我面临着这个错误:Java 如果没有静态关键字,则无法从静态上下文引用非静态方法hasNextLine(),java,Java,下面的代码用于检查给定的单词或字符串是否为pangram。但我面临着这个错误:非静态方法hasNextLine()不能从静态上下文引用 我用这个网站来解决这个问题,有人能帮我解决吗 import java.util.Scanner; class PangramChecker { public void main(String[] args) { Scanner input = new Scanner(System.in); if(Scanner.hasNextL
非静态方法hasNextLine()不能从静态上下文引用
我用这个网站来解决这个问题,有人能帮我解决吗
import java.util.Scanner;
class PangramChecker {
public void main(String[] args)
{
Scanner input = new Scanner(System.in);
if(Scanner.hasNextLine())
{
String words = input.nextLine();
System.out.println(check(words));
}
}
public boolean check(String sentence){
sentence= sentence.replace(" ","");
String temp="";
for(int c:sentence.toCharArray())
if((c>64 &&c<91)||(c>96 && c<123))
temp+=(""+(char)c);
sentence = temp;
if(sentence.length()<26)
return false;
else
{
sentence= sentence.toLowerCase();
String output="";
for(char c:sentence.toCharArray())
output=presenceChecker(output,c);
System.out.println("The output is:"+output);
if(output.length()==26)
return true;
else
return false;
}
}
public String presenceChecker(String str,char c)
{
boolean present=false;
for(char k:str.toCharArray())
{
if(k==c)
present=true;
}
if(present)
str+=(""+c);
return str;
}
}
import java.util.Scanner;
类检查程序{
公共void main(字符串[]参数)
{
扫描仪输入=新扫描仪(System.in);
if(Scanner.hasNextLine())
{
String words=input.nextLine();
System.out.println(勾选(字));
}
}
公共布尔检查(字符串语句){
句子=句子。替换(“,”);
字符串temp=“”;
for(int c:句子.toCharArray())
如果((c>64&&c96&&c第5行):
Scanner input = new Scanner(System.in);
第6行:
if(Scanner.hasNextLine())
您的Scanner
变量被称为input
,而不是Scanner
。您试图在类上调用该方法,但它不是静态的,因此只有该类的实例具有该方法。显然,您犯了一个小错误。您应该改为调用input.hasNextLine()
。