わからなくて困っています。どうか助けてください。
入力値を日付型として、過去か現在か未来かを表示するプログラムを作成しています。
条件として、
『入力値はBufferedReaderを使用すること』が決められています。
現在、元々あったプログラムを
修正のために入力値の部分をBufferedReaderに変えました。
そこで、変換部分で躓いてしまいました。
parseと記された部分です(わかりやすいように*を付けてあります)
public static void main(String[] args) { // 日付型の設定 Calendar calendar = Calendar.getInstance(); calendar.set(calendar.HOUR, 0); calendar.set(calendar.MINUTE, 0); calendar.set(calendar.SECOND, 0); calendar.set(calendar.MILLISECOND, 0); Date nowDate = calendar.getTime(); System.out.println("年月日を入力してください"); // 入力値を設定し、日付型に変換 BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); try { String str = br.readLine(); int time = Integer.parseInt(str); SimpleDateFormat sd = new SimpleDateFormat("yyyy/MM/dd"); Date inDate = null; try { inDate = sd.**parse**(time); } catch (ParseException e) { e.printStackTrace(); } int result = inDate.compareTo(nowDate); if (result == 0) { System.out.println("同じです"); } else if (result > 0) { System.out.println("未来の日付です"); } else { System.out.println("過去の日付です"); } } catch (InputMismatchException e) { System.out.println("整数を入力してください"); } catch (IOException e) { System.out.println(e); } コード
String型の入力値をint型に変換→Date型に変換、という流れなのですが、
parseはint型には適用できないようです。
この形を崩さず、intからDateに変換するには、どうしたらいいのでしょうか。
よろしくお願い致します。


回答2件
あなたの回答
tips
プレビュー