- PR -

Calendarクラス

1
投稿者投稿内容
kon
会議室デビュー日: 2003/03/05
投稿数: 5
投稿日時: 2003-06-10 01:50
Java超初心者です。

今回Calendarクラスのことについて質問します。
あるメソッドを作るとき引数にCalendarクラスの配列を指定されました。

getvalue(Calendar[] cal1,Calendar[] cal2)
{
処理
}
cal1:スタート時刻
cal2:終了時刻

このようなメソッドにCalendarクラスの配列を2つ渡すはどのようにすればよいのでしょうか。

Calendarクラスの配列の作り方はどのようにすればよいのでしょうか。

Calendarクラスについて調べたりしているのですがなかなかわかりません助けてください。よろしくお願いいたします。
Wata
ぬし
会議室デビュー日: 2003/05/17
投稿数: 279
投稿日時: 2003-06-10 09:38
Wataです。
Cakendarクラスは抽象クラスなので、

Calendar calendar = new Calendar();

のようなインスタンス化はできませんが、
下のように配列を作ることは普通にできますよ。

Calendar[] calendars = new Calendar[10];

試しましたか?

当然
Calendar[] calendars = { a, b, ... }; や
getValue(new Calendar[]{ ... }, new Calendar[]{ ... });
のような初期化もできます。
kon
会議室デビュー日: 2003/03/05
投稿数: 5
投稿日時: 2003-06-10 12:59
ありがとうございます。

Calendar[] calendars = new Calendar[10];
の場合には、Calendarクラス型の配列領域がメモリ上に確保されると言うことでしょうか。

ということはこの配列にスタート時刻、終了時刻を設定するには
Calendar[] calendars=new Calendar[2];

Calendar cal1=Calendar.getInstance();
cal1.set(2003,6,10,10,10,10);
calendars[0]=cal1;

Calendar cal2=Calendar.getInstance();
cal2.set(2003,6,11,11,11,11);
calendars[1]=cal2;
で動いたのですがよいのでしょうか。

ほかによい方法があればお願いいたします。
ニシトミ
ベテラン
会議室デビュー日: 2003/04/24
投稿数: 76
お住まい・勤務地: 千葉・東京
投稿日時: 2003-06-10 16:13
こんにちは、良い方法というか提言ですが

カレンダーのインスタンス名をcal1、cal2とかとするのではなくて、
せっかく開始時間と終了時間というのがわかっているのであれば、
startCalとかendCalなどとするべきです。
あとここは
Calendar cal1=Calendar.getInstance();
cal1.set(2003,6,10,10,10,10);

Calendar cal1 = new GregorianCalendar(2003,6,10,10,10,10);
でもいいですよね、お好きなように
がんばってください!!
kon
会議室デビュー日: 2003/03/05
投稿数: 5
投稿日時: 2003-06-10 22:53
ご指摘ありがとうございました。
いろいろ試してみます。
1

スキルアップ/キャリアアップ(JOB@IT)