1

現在、Java の課題を作成していますが、行き詰まっています。日、月、年の 3 つのパラメーターから生年月日を作成する必要があります。これらは数字 = int です。これにより、有効な日付をチェックする必要があります。その部分は完了したと思いますが、次の点で行き詰まります。

if ステートメントでその日をチェックしたいのですが、その日が正しい場合は、このコード ブロックを実行する必要があります

if (dag >=1 && dag <=31) 
{
    datum = dag; 
}

datum次のような日付を取得したいので、文字列です: DD-MM-YYY そしてdag、整数です。そのため、これをコンパイルしようとすると、BlueJ はこの部分で「互換性のない型」というエラーを出します。これは、文字列に Int を配置しようとしたためだと思います。方法がわからないので、これは何らかの方法で可能ですか。

4

2 に答える 2

3

文字列にしないでください。そうではありません。私はあなたがすべきだと思います

  1. 日付を表すDateオブジェクトを作成します(日/月/年の合計)
  2. SimpleDateFormatを使用して、その日付を適切な形式で出力します

それはそれを行うための適切なOOの方法です。そうしないと、いくつかのオブジェクトタイプを組み合わせて表す、さまざまな切断された変数ができあがりますが、それらをアトミックに操作したり、メソッドを呼び出したりすることはできません。 )と入力すると、特に悪いコードの臭いになります。

ある段階で、 Joda-Timeをチェックして、上記で提案されたものよりも優れた日付/時刻APIを確認してください。しかし、今のところ、余分な瓶をダウンロードすることなく、あなたはあなたの皿に十分な量を持っていると思います。

于 2012-11-26T19:47:43.077 に答える
3

メソッドを使用String.valueOfして変換intstringます: -

int i = 32;
String str = String.valueOf(i);

もちろん、あなたのケースで何をすべきかについては、 @ Brianの回答のアドバイスに従ってください。

于 2012-11-26T19:46:00.407 に答える