//下面代碼實現設置和獲取學生姓名和成績。
2 class lesson5homework
3 {
4 public static void main(String[] args)
5 {
6 TestCode TC=new TestCode();
7 TC.StudentTest();//調用測試類
8 }
9 }
10 class Student
11 //設置,獲取student值及分別表明name和score值是否正確的Boolean類型的rn和rs
12 {
13 private String name;
14 private int score;
15 private boolean rn;
16 private boolean rs;
17 //私有的值,用setter和getter方法提供外界訪問
18 /*
19 格式為:
20 getter(用於獲取):
21 [非私有修飾符] 字段類型 get字段名稱(首字母大寫)()
22 {
23 return 字段名;
24 }
25 setter(用於設置):
26 [非私有修飾符] void set字段名稱(首字母大寫)(字段類型 變量)
27 {
28 字段=變量;
29 }
30
31 例外:Boolean類型的是setter方法和is方法。
32 setter格式與上述相同,is方法只需把set編程is即可,下面是例子。
33 */
34
35 public void setName(String n)//name的setter和getter方法
36 {
37 if(n!="")
38 {
39 name=n;
40 setRn(true);
41 }
42 else
43 {
44 System.out.println("ERROR! name IS ERROR!");
45 setRn(false);
46 }
47 }
48 public String getName()
49 {
50 return name;
51 }
52
53 public void setScore(int s)//score的setter和getter方法
54 {
55 if(s>=0&&s<=100)
56 {
57 score=s;
58 setRs(true);
59 }
60 else
61 {
62 System.out.println("ERROR! score IS ERROR!");
63 setRs(false);
64 }
65 }
66 public int getScore()
67 {
68 return score;
69 }
70
71 public void setRn(boolean xn)//Boolean的setter方法與is方法
72 {
73 rn=xn;
74 }
75 public boolean isRn()
76 {
77 return rn;
78 }
79
80 public void setRs(boolean xs)
81 {
82 rs=xs;
83 }
84 public boolean isRs()
85 {
86 return rs;
87 }
88 }
89 class TestCode
90 {
91 public void StudentTest()//測試
92 {
93 System.out.println("TEST CODE OF STUDENT:");
94 printStudent("jack",100);
95 printStudent("jack",101);
96 printStudent("jack",-1);
97 printStudent("",100);
98 }
99 private void printStudent(String name,int score)
100 {
101 Student s=new Student();
102 s.setName(name);
103 s.setScore(score);//先設置值
104 if((s.isRn())&&(s.isRs()))//如果正確則輸出
105 System.out.println("Name:"+s.getName()+",Score:"+s.getScore());
106
107 }
108 }