作業程式如下:
String name;
int chinese;
int english;
int math;
// 建構子 (無參數)
StudentDO () {
this("Nobody",0,0,0);
}
// 建構子 (四個參數)
StudentDO (String n, int c, int e, int m){
name=n;
chinese=c;
english=e;
math=m;
}
}
public class TestStudentDB {
public static void main(String[] argv) {
StudentDO x = new StudentDO("Tom",12,23,33);
StudentDO y = new StudentDO("Mary",55,44,33);
// 在此加入程式, 比較 x 與 y 物件大小 (根據物件中數字總合來比較),
// 將大的物件總和顯示出來
}
}
下面是作業的答案
class StudentDO {
String name;
int chinese;
int english;
int math;
// 建構子 (無參數)
StudentDO () {
this("Nobody",0,0,0);
}
// 建構子 (四個參數)
StudentDO (String n, int c, int e, int m){
name=n;
chinese=c;
english=e;
math=m;
}
}
public class TestStudentDB {
public static void main(String[] argv) {
StudentDO x = new StudentDO("Tom",12,23,33);
StudentDO y = new StudentDO("Mary",55,44,33);
if((x.chinese+x.english+x.math)>(y.chinese+y.english+y.math))
System.out.print(x.chinese+x.english+x.math);
if((x.chinese+x.english+x.math)<(y.chinese+y.english+y.math))
System.out.print(y.chinese+y.english+y.math);
if((x.chinese+x.english+x.math)==(y.chinese+y.english+y.math))
System.out.print("相等");
}
}
執行結果
132
但是這樣寫是把事先準備好的instancefield呼叫下來使用
也可以準備一個method去處理
class StudentDO {
String name;
int chinese;
int english;
int math;
// 建構子 (無參數)
StudentDO () {
this("Nobody",0,0,0);
}
// 建構子 (四個參數)
StudentDO (String n, int c, int e, int m){
name=n;
chinese=c;
english=e;
math=m;
}
public int getSum() {
return chinese + english + math;
//用這個method去做總和再來回傳
}
}
public class StudentDB01 {
public static void main(String[] argv) {
StudentDO x = new StudentDO("Tom",12,23,33);
StudentDO y = new StudentDO("Mary",55,44,33);
if ( x.getSum() > y.getSum() )
System.out.println(x.getSum());
else
System.out.println(y.getSum());
//直接用method做總和以後,再來做比較
}
}
這樣子可以讓程式用method做完運算再來取得想要得值,可以讓整個程式看起來比較乾淨,method也可以重複被使用
沒有留言:
張貼留言