На нестатический метод next () нельзя ссылаться из статического контекста - PullRequest
2 голосов
/ 09 февраля 2012

Я пытаюсь разобрать отформатированную дату 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]);

Ответы [ 5 ]

5 голосов
/ 09 февраля 2012

Изменение:

String date = Scanner.next();  

до:

String date = keyboard.next();  

next() - это метод экземпляра, поэтому его необходимо вызывать для экземпляра класса Scanner.

Также измените:

String temp = date.split("/"); 

до:

String[] temp = date.split("/"); 

метод split() возвращает массив строк.

1 голос
/ 09 февраля 2012

Это Integer.parseInt () , а не IntegerParseInt.

Также измените на это

String date = keyboard.next();
1 голос
/ 09 февраля 2012

Измените код:

String date=Scanner.next();

на:

String date = keyboard.next();
1 голос
/ 09 февраля 2012

Вы имеете в виду

String date = keyboard.next();

вместо

String date = Scanner.next();
1 голос
/ 09 февраля 2012

Это должно быть keyboard.next(), а не Scanner.next().

...