あと一歩だと思うのですが、いいアイデアが思いつきません。
知恵を貸していただけると嬉しいです。
先日『入力した日付を比較して結果を返す』というプログラムを作成したいと
質問した者です。
あの後、入力値を変換する所までは(おそらく)できたと思うのですが、エラーが出てしまいました。
以下、今のプログラムになります。
Date now = new Date();
SimpleDateFormat f = new SimpleDateFormat("yyyymmdd");
String s = f.format(now);
Calendar calendar = Calendar.getInstance(); System.out.println("年月日を入力してください"); String day = new java.util.Scanner(System.in).nextLine(); SimpleDateFormat d = new SimpleDateFormat("yyyymmdd"); String v = d.format(day); int diff = s.compareTo(v); System.out.println(diff);
最後のsystem.out.printlnはちゃんと出力されるかを確認するために入れた物です。
これを実行すると、以下のエラーが出ます。
Exception in thread "main" java.lang.IllegalArgumentException: Cannot format given Object as a Date
at java.text.DateFormat.format(DateFormat.java:301)
at java.text.Format.format(Format.java:157)
at phantom.Go.main(Go.java:21)
期待値としては、『yyyymmdd』形式で入れた日付が、今日の日付と比べて過去か現在か未来かを出力されるようにしたいです。
あともう少しだと思うのですが、わかりません。
どうかよろしくお願い致します。
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。