[問題] 建構子的問題[已解決]

看板java作者 (說出來嚇死你)時間14年前 (2012/02/06 16:58), 編輯推噓1(1013)
留言14則, 5人參與, 最新討論串1/1
下面是修改自書本上的範例。 我想創一個成績單的陣列(GradeBook2), 同時有"科目"和"分數"兩種參數。 因為主要是想要測試有沒有辦法在有兩種參數的情況下, 可以讓使用者自行輸入科目名稱或分數就能更改本來設定的數值, 但光是一開始試圖改"科目"就碰上問題。 但如果這個成績單的建構子是只有"科目"這個參數的話, 卻不會有問題。 實在是想不透為什麼。 希望有人能告訴我該怎麼做,感激。 碰上的問題就是這個過不了編譯的動作, 我想問的是怎麼寫才正確.. 因為這個建構子有兩個參數, 是否有辦法改變其中一個參數的數值?我不知道要怎麼作。 謝謝回覆 我原本的問題是 我知道可以用set的method改 可是這個類別的建構子有兩項參數, 這個範例是GradeBook2有"String的name"跟"int[]的成績陣列"兩個參數, 用set怎麼知道我要改的是哪個參數? 現在問題已經解決,感謝大家回覆。 第一部份: import java.util.Scanner; public class GradeBook2Test { public static void main(String args[]) { int gradeArray[]={5,4,5,4,3,3,3,4,2,5}; GradeBook2 myGradeBook2=new GradeBook2("test",gradeArray); Scanner input=new Scanner(System.in); System.out.printf("enter the course name:"); String theName=input.nextLine(); myGradeBook2.setCoureseName(theName);//course name that user entered System.out.printf("Welcome to the course:%s",myGradeBook2.getCourseName()); } } 第二部份: public class GradeBook2 { private String courseName; private int grades[]; public GradeBook2(String name,int gradesArray[])//course name & grades { courseName=name; grades=gradesArray; } public void setCourseName(String name)// { courseName=name; } public String getCourseName() { return courseName; } } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.124.252.181

02/06 17:53, , 1F
"踫上問題" 是什麼問題? 請把問題問清楚不然會刪
02/06 17:53, 1F
※ 編輯: davidwu0123 來自: 61.217.232.253 (02/06 20:22)

02/06 20:30, , 2F
你自己的7,8行就說明了呀 沒有相對應的建構子
02/06 20:30, 2F

02/06 20:36, , 3F
問題是這個建構子是有兩個參數的 不能夠改嗎?
02/06 20:36, 3F

02/06 21:00, , 4F
可以啊.... 難道你不會改嗎? orz....
02/06 21:00, 4F

02/06 23:53, , 5F
建構子可以有很多個...overloading...
02/06 23:53, 5F

02/06 23:56, , 6F
很愛睏,搞不太懂原po的問題到底在哪,set/get的method
02/06 23:56, 6F

02/06 23:58, , 7F
應該就可以達到目的,為什麼要用建構子硬上0.0?
02/06 23:58, 7F

02/07 00:02, , 8F
原po你自己仔細看錯誤訊息吧,我懷疑你連看都沒看...
02/07 00:02, 8F

02/07 10:28, , 9F
編譯不會過, 有自己去理解錯誤訊息嗎? 再者你發問也應
02/07 10:28, 9F

02/07 10:29, , 10F
該貼上相關整理過的錯誤訊息. 請修文否則將刪文
02/07 10:29, 10F

02/07 10:30, , 11F
另問題也不清楚, 何謂改變建構子參數數值? 把你的例子
02/07 10:30, 11F

02/07 10:31, , 12F
簡化, 讓大家都能明白你想做什麼吧
02/07 10:31, 12F

02/07 13:21, , 13F
好吧 謝謝回覆 已經找出問題了
02/07 13:21, 13F

02/07 13:23, , 14F
我原本的問題是 我知道可以用set的method改
02/07 13:23, 14F
※ 編輯: davidwu0123 來自: 59.124.252.181 (02/07 13:24) ※ 編輯: davidwu0123 來自: 59.124.252.181 (02/07 13:25) ※ 編輯: davidwu0123 來自: 59.124.252.181 (02/07 13:29)
文章代碼(AID): #1FBvPHhS (java)