看板 java 關於我們 聯絡資訊
各位好 我的問題是 我目前有以下三個類別 class Schedule { void add(Appointment S) { } void query(Appointment S) { } void cancel(Appointment S) { } } class Appointment { String activity; public Appointment(MyDatetime start, MyDatetime end, String act) { activity = act; } } class MyDatetime { int y, m, d, h, minu; public MyDatetime(int year, int month, int day, int hour, int min) { y = year; m = month; d = day; h = hour; minu = min; } } 而我宣告了 Schedule sch; sch.add(new Appointment(new MyDatetime(fyear, fmonth, fday, fhour, fmin), new MyDatetime(eyear, emonth, eday, ehour, emin), act)); 請問該如何在public static void main(String args[]){}得到 MyDatetime裡面的 y值 呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 106.107.241.142 ※ 文章網址: https://www.ptt.cc/bbs/java/M.1544013254.A.B81.html
Chienhua: Sch看起來是用List<>接MyDatetime的實例,假設為list 12/05 23:09
Chienhua: Sch/Appointment/MyDatetime的field皆設public, 12/05 23:09
Chienhua: 便可用sch.list.get(0).s.y取得(s=start, y=year) 12/05 23:09
Chienhua: 如果保持private, 可以用getter 12/05 23:10
您好 感謝您之前的回覆 抱歉 之前的輸入方法沒貼出來 不是用List 我是用第47,48行 將物件放入陣列 如下圖: https://i.imgur.com/uEJGZeH.png 然後61~75則是輸入相關 您說的方法似乎是書中更有效率和節省空間的另一個 再麻煩您了 ! ※ 編輯: asd89501tw (106.107.241.142), 12/06/2018 00:44:24
Chienhua: 韙J陣列的是Schedule的實例;由於不清楚Schedule的add如 12/06 01:05
Chienhua: 放入 12/06 01:05
Chienhua: 何做成,僅能告訴你取得的關鍵是透過Schedule的實例取得 12/06 01:05
Chienhua: 放入的MyDatetime實例 12/06 01:06
Chienhua: 取得MyDatetime的實例,便能取得他的Field 12/06 01:08
補貼第一行class Schedule 另外抱歉 發文的時候沒貼完整導致Schedul這個class的頭被截掉 然後那個76行add 是做 Schedule裡面的add函數 ※ 編輯: asd89501tw (106.107.241.142), 12/06/2018 01:28:02
Chienhua: 但看不出add的實作方法,但推測不是Array就是List系列 12/06 01:35
edyucheng: 不太懂你的程式...1. 你是想要有用陣列來裝多個Appoint 12/07 21:46
edyucheng: ment,還是想用陣列來裝Schedule呢? 12/07 21:46
edyucheng: 2. 如果Schedule不是List的實例的話,你可能要提供add( 12/07 21:49
edyucheng: Appointment appointment){}這段程式,要不然也看不出 12/07 21:49
edyucheng: 來appointment帶入後做了什麼事情。 12/07 21:49