第一周
这周学习类和对象,编程题目是:
设计一个表示分数的类Fraction。这个类用两个int类型的变量分别表示分子和分母。
相对来说比较简单,题目的要求已经把要构造的类的成员变量,成员函数包括构造函数已经描述的很详细了,我们作为学习者根据它很具体的要求来完成这周的测试是不难,题目的主要用意是让大家对构造类,使用类有一个初步的认识。
下面是Fraction类的代码:
public class Fraction { private int den; private int ele;
Fraction(int ele,int den){
this.den=den;
this.ele=ele;
}
public double toDouble(){
if(den!=0){
return ele/((double)den);
}
else
return 0.0;
}
public Fraction plus(Fraction r){
Fraction newFra=new Fraction(1,1);
newFra.den=this.den*r.den;
newFra.ele=this.ele*r.den+this.den*r.ele;
return newFra;
}
public Fraction multiply(Fraction r){
Fraction newFra=new Fraction(1,1);
newFra.den=this.den*r.den;
newFra.ele=this.ele*r.ele;
return newFra;
}
public void print(){
int smaller;
if(den<ele){
smaller=den ;
}
else{
smaller=ele;
}
if(ele==0){
System.out.println(0);
}
else{
if(den==ele){
System.out.println(1);
}
else{
for(int i=1;i<=smaller;i++){
if((den%i==0)&&(ele%i==0)){
den/=i;
ele/=i;
}
}
System.out.println(ele+"/"+den);
}
}
}