2016-11-28 13 views
-1

会話をスケジュールするプログラムを作成しようとしています。私は話のタイトル、開始時間、そしてそれが単一の配列に持続する期間を入力することができる必要があります。ここでは、私のアプリケーションクラスのスニペットと私の面倒なイベントクラスです。ArrayListに複数の変数型を入力する

ArrayList<Object> events = new ArrayList <Object>(); 


         String title; 
         int hour, minute; 
         double duration; 

          System.out.println("Enter the title of the talk : "); 
          title = scnr.next(); 
          System.out.println("Enter the start time"); 
          System.out.println("Hour (0-23): "); 
          hour = scnr.nextInt(); 
          System.out.println("Minute (0-23): "); 
          minute = scnr.nextInt(); 
          System.out.println("Enter talk 's duration (in minutes) : "); 
          duration = scnr.nextDouble(); 
          events.add(title); 
          events.add(hour); 
          events.add(minute); 
          events.add(duration); 

         } 
public class Event { 

private String title = ""; 
private double duration = 0.0, lectureTime = 60.0; 
private int minute; 

public Event(int hour, int minute) { 
    this.minute = hour * 60 + minute; 
} 

public int getHour() { 
    return minute/60; 
} 
public int getMinute() {  
    return minute%60; 

} 
// Setter for hour 
public void setHour(int hour) { 
    this.minute = getMinute() + hour*60; 
} 
// Setter for minute 
public void setMinute(int minute) { 
    this.minute = getHour()*60 + minute; 
} 

public String toString() 
{ 
    int h = (getHour()==0 || getHour()==12) ? getHour() : getHour()%12; 
    String period = (getHour()<12)? "AM" : "PM"; 
    return String.format("Talk: %s (%02d:%02d %s to %02d:%02d %s)", getTitle(), h, getMinute(), period, getDuration(), period); 
} 

public String getTitle() { 
    return title; 
} 
public double getDuration() { 
    return duration; 
} 
public double getLectureTime() { 
    return lectureTime; 
} 
public void setTitle(String title) { 
    this.title = title; 
} 
public void setDuration(double duration) { 
    this.duration = getMinute() + getMinute() + duration; 
} 
public void setLectureTime(double lectureTime) { 
    this.lectureTime = lectureTime; 
} 

}

+0

質問は何ですか? – silentprogrammer

+0

それは 'ArrayList 'ではありませんか?それぞれのイベントのデータを保持するクラスがあります。なぜ、 'Event'をインスタンス化してリストに_that_を追加していないのですか?なぜ個々の情報ビットをリストに追加する必要があると思いますか? –

+0

あなたは直面している問題は何ですか? –

答えて

0

あなたはそれがひどく間違っていました。代わりにEventクラスのArrayListを作成し、イベントオブジェクトをリストに追加することができます。以下のように:

ArrayList<Event> events = new ArrayList <Event>(); 

入力に基づいてイベントオブジェクトを作成し、オブジェクトをリストに追加します。

events.add(eventObj); 
0

"ArrayList"を使用してオブジェクトを保持できます。メソッド内にEventオブジェクトを作成し、これらのEventオブジェクトをarraylistに作成します。

関連する問題