Java 如果没有静态关键字,则无法从静态上下文引用非静态方法hasNextLine()

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

下面的代码用于检查给定的单词或字符串是否为pangram。但我面临着这个错误:
非静态方法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()