3

フォーマットされた日付を個別のフィールドに解析しようとしてい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]);
4

5 に答える 5

5

変化する:

String date = Scanner.next();  

に:

String date = keyboard.next();  

next()はインスタンス メソッドであるため、クラス Scanner のインスタンスで呼び出す必要があります。

また、次のように変更します。

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

に:

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

split()メソッドは文字列配列を返します。

于 2012-02-09T01:32:06.667 に答える
1

そうであってはなりkeyboard.next()ませんScanner.next()

于 2012-02-09T01:32:23.103 に答える
1

もしかして

String date = keyboard.next();

それ以外の

String date = Scanner.next();
于 2012-02-09T01:32:30.867 に答える
1

コードを変更します。

String date=Scanner.next();

に:

String date = keyboard.next();
于 2012-02-09T01:32:59.553 に答える
1

Integer.parseInt()ではありませんIntegerParseInt

こちらも変更

String date = keyboard.next();
于 2012-02-09T01:33:48.960 に答える