0

そのため、SimpleDateFormat を使用してユーザー入力を取得しようとしていますが、スレッド「メイン」で例外が発生します java.lang.IllegalArgumentException: Cannot format given Object as a Date というエラーが発生し続けます

文字列を取得して情報を取得して変換する方法、またはこの方法が可能かどうかはよくわかりません。私を正しい方向に導くことができるコメントは大歓迎です。

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;

public class takeTime {


    public static void main(String[] args) {


        Scanner reader = new Scanner(System.in);

        System.out.print( "Please enter a time: " );
        String now = reader.nextLine();
        SimpleDateFormat format = new SimpleDateFormat("h:mm a");
        System.out.println( format.format(now));
    }

}
4

1 に答える 1

5

ユーザーからの入力をDate最初に変換する必要があります。

Scanner reader = new Scanner(System.in);

System.out.print( "Please enter a time: " );
String now = reader.nextLine();
Date date = new SimpleDateFormat("HHmm").parse(now);
SimpleDateFormat format = new SimpleDateFormat("h:mm a");
System.out.println( format.format(date));
于 2013-02-28T23:36:02.570 に答える