无法从静态上下文引用非静态方法next()

Ian*_*ner 2 java static scope non-static

我试图将mm/dd/yyyy格式化的日期解析为单独的字段,但是当我尝试编译时出现以下错误:

非静态方法next()不能从静态上下文中引用

可能导致错误的原因是什么?

import java.util.Scanner;

public class Problem39
{

    public static void main(String [ ] args)
    {

    boolean isLeapYear =false;
    int maxDay=0;
    String stringDate;

    System.out.println("Enter the date in mm/dd/yyyy format. ");  //user input
    Scanner keyboard = new Scanner(System.in);                    //read input
    String date=Scanner.next();                                //store input
    String temp=date.split("/");  //parse date
    int month=IntegerParseInt(temp[1]);
    int day=IntegerParseInt(temp[0]);
    int year=IntegerParseInt(temp[2]);
Run Code Online (Sandbox Code Playgroud)

ggr*_*ner 5

更改:

String date = Scanner.next();  
Run Code Online (Sandbox Code Playgroud)

至:

String date = keyboard.next();  
Run Code Online (Sandbox Code Playgroud)

next() 是一个实例方法,因此您必须在类Scanner的实例上调用它.

另外,改变:

String temp = date.split("/"); 
Run Code Online (Sandbox Code Playgroud)

至:

String[] temp = date.split("/"); 
Run Code Online (Sandbox Code Playgroud)

split()方法返回一个字符串数组.