605成績資訊系統

/******
檔名:JPA06_1.java
題目:TQC+ JAVA6物件導向程式設計 參考答案
時間:2015/06
作者:fang shi mai
******/
public class JPA06_1
{
    public static void main(String argv[])
    {
        MIS s1 = new IT("John", 88, 90, 76, 68, 84);
        MIS s2 = new IM("Paul", 92, 80, 76, 68);
        System.out.printf("John's elect score: %.2f all score %.2f\n", s1.averageElect(), s1.averageAll());
        System.out.printf("Paul's elect score: %.2f all score %.2f\n", s2.averageElect(), s2.averageAll());
 
    }
}
abstract class MIS
{
    String name;
    int chi;
    int eng;
    
    MIS(String a,int b,int c)
    {
        name=a;
        chi=b;
        eng=c;
    }
    double averageNeed()
    {
        return (chi+eng)/2.0;
    }
    double averageAll()
    {
        return (this.averageNeed()*0.4)+(this.averageElect()*0.6);
    }
    abstract double averageElect();
}
class IT extends MIS
{
    int pl;
    int db;
    int ds;
    
    IT(String a,int b,int c,int d,int e,int f)
    {
        super(a,b,c);
        pl=d;
        db=e;
        ds=f;
    }
    double averageElect()
    {
        return (pl+db+ds)/3.0;
    }
}
class IM extends MIS
{
    int econ;
    int acct;
    
    IM(String a,int b,int c,int d,int e)
    {
        super(a,b,c);
        econ=d;
        acct=e;
    }
    double averageElect()
    {
        return (econ+acct)/2.0;
    }
}
/******
檔名:JPA06_2.java
題目:TQC+ JAVA6物件導向程式設計 參考答案
時間:2015/06
作者:fang shi mai
******/
public class JPA06_2
{
   public static void main(String argv[])
       {
        MIS s3 = new ITM("Mary", 79, 88, 94, 92, 83, 69);
        System.out.printf("Mary's elect score: %.2f all score %.2f\n", s3.averageElect(), s3.averageAll());
    }
}
abstract class MIS
{
    String name;
    int chi;
    int eng;
    
    MIS(String a,int b,int c)
    {
        name=a;
        chi=b;
        eng=c;
    }
    double averageNeed()
    {
        return (chi+eng)/2.0;
    }
    double averageAll()
    {
        return (this.averageNeed()*0.4)+(this.averageElect()*0.6);
    }
    abstract double averageElect();
}
class ITM extends IT
{
    int acct;
    
    ITM(String a,int b,int c,int d,int e,int f,int g)
    {
        super(a,b,c,d,e,f);
        acct=g;
    }
    double averageElect()
    {
        return (super.averageElect()+acct)/2.0;
    }
    double averageAll()
    {
        return (this.averageNeed()*0.4)+(super.averageElect()*0.4)+(acct*0.2);
    }
}
class IT extends MIS
{
    int pl;
    int db;
    int ds;
    
    IT(String a,int b,int c,int d,int e,int f)
    {
        super(a,b,c);
        pl=d;
        db=e;
        ds=f;
    }
    double averageElect()
    {
        return (pl+db+ds)/3.0;
    }
}
class IM extends MIS
{
    int econ;
    int acct;
    
    IM(String a,int b,int c,int d,int e)
    {
        super(a,b,c);
        econ=d;
        acct=e;
    }
    double averageElect()
    {
        return (econ+acct)/2.0;
    }
}
/******
檔名:JPA06_3.java
題目:TQC+ JAVA6物件導向程式設計 參考答案
時間:2015/06
作者:fang shi mai
******/
public class JPA06_3
{
    public static void main(String argv[])
    {
        MIS s1 = new IT("John", 88, 90, 76, 68, 84);
        MIS s2 = new IM("Paul", 92, 80, 76, 68);
        MIS s3 = new ITM("Mary", 79, 88, 94, 92, 83, 69);
        System.out.printf("John's elect score: %.2f all score %.2f\n", s1.averageElect(), s1.averageAll());
        System.out.printf("Paul's elect score: %.2f all score %.2f\n", s2.averageElect(), s2.averageAll());
        System.out.printf("Mary's elect score: %.2f all score %.2f\n", s3.averageElect(), s3.averageAll());
        System.out.println("Total students: " + MIS.countStudents());
    }
}
abstract class MIS
{
    String name;
    int chi;
    int eng;
    static int students=0;
    
    MIS(String a,int b,int c)
    {
        name=a;
        chi=b;
        eng=c;
        students++;
    }
    double averageNeed()
    {
        return (chi+eng)/2.0;
    }
    double averageAll()
    {
        return (this.averageNeed()*0.4)+(this.averageElect()*0.6);
    }
    static int countStudents()
    {
        return students;
    }
    abstract double averageElect();
}
class ITM extends IT
{
    int acct;
    
    ITM(String a,int b,int c,int d,int e,int f,int g)
    {
        super(a,b,c,d,e,f);
        acct=g;
    }
    double averageElect()
    {
        return (super.averageElect()+acct)/2.0;
    }
    double averageAll()
    {
        return (this.averageNeed()*0.4)+(super.averageElect()*0.4)+(acct*0.2);
    }
}
class IT extends MIS
{
    int pl;
    int db;
    int ds;
    
    IT(String a,int b,int c,int d,int e,int f)
    {
        super(a,b,c);
        pl=d;
        db=e;
        ds=f;
    }
    double averageElect()
    {
        return (pl+db+ds)/3.0;
    }
}
class IM extends MIS
{
    int econ;
    int acct;
    
    IM(String a,int b,int c,int d,int e)
    {
        super(a,b,c);
        econ=d;
        acct=e;
    }
    double averageElect()
    {
        return (econ+acct)/2.0;
    }
}

/******
檔名:JPA06_4.java
題目:TQC+ JAVA6物件導向程式設計 參考答案
時間:2015/06
作者:fang shi mai
******/
import java.util.HashMap;

public class JPA06_4
{
    public static void main(String argv[])
    {
        MIS s1 = new IT("John", 88, 90, 76, 68, 84);
        MIS s2 = new IM("Paul", 92, 80, 76, 68);
        MIS s3 = new ITM("Mary", 79, 88, 94, 92, 83, 69);
        System.out.printf("John's elect score: %.2f all score %.2f\n", s1.averageElect(), s1.averageAll());
        System.out.printf("Paul's elect score: %.2f all score %.2f\n", s2.averageElect(), s2.averageAll());
        System.out.printf("Mary's elect score: %.2f all score %.2f\n", s3.averageElect(), s3.averageAll());
        MISClass c1 = new MISClass();
        c1.put("John", s1);
        c1.put("Paul", s2);
        c1.put("Mary", s3);
        c1.list();
    }
}
class MISClass
{
    HashMap<String,MIS> hm=new HashMap<String,MIS>();
    
    void put(String a,MIS b)
    {
        hm.put(a,b);
    }
    void list()
    {
        for(MIS i:hm.values())
        {
            System.out.printf("%s: %.2f\n",i.name,i.averageAll());
        }
    }
}

abstract class MIS
{
    String name;
    int chi;
    int eng;
    static int students=0;
    
    MIS(String a,int b,int c)
    {
        name=a;
        chi=b;
        eng=c;
        students++;
    }
    double averageNeed()
    {
        return (chi+eng)/2.0;
    }
    double averageAll()
    {
        return (this.averageNeed()*0.4)+(this.averageElect()*0.6);
    }
    static int countStudents()
    {
        return students;
    }
    abstract double averageElect();
}
class ITM extends IT
{
    int acct;
    
    ITM(String a,int b,int c,int d,int e,int f,int g)
    {
        super(a,b,c,d,e,f);
        acct=g;
    }
    double averageElect()
    {
        return (super.averageElect()+acct)/2.0;
    }
    double averageAll()
    {
        return (this.averageNeed()*0.4)+(super.averageElect()*0.4)+(acct*0.2);
    }
}
class IT extends MIS
{
    int pl;
    int db;
    int ds;
    
    IT(String a,int b,int c,int d,int e,int f)
    {
        super(a,b,c);
        pl=d;
        db=e;
        ds=f;
    }
    double averageElect()
    {
        return (pl+db+ds)/3.0;
    }
}
class IM extends MIS
{
    int econ;
    int acct;
    
    IM(String a,int b,int c,int d,int e)
    {
        super(a,b,c);
        econ=d;
        acct=e;
    }
    double averageElect()
    {
        return (econ+acct)/2.0;
    }
}

/******
檔名:JPA06_5.java
題目:TQC+ JAVA6物件導向程式設計 參考答案
時間:2015/06
作者:fang shi mai
******/
import java.util.HashMap;

public class JPA06_5
{
    public static void main(String argv[])
    {
        MISClass c1 = new MISClass();
        c1.put("Peter", new IM("Peter", 89, 980, 77, 69));
        
        try
        {
            c1.list();
        }
        catch(NewException n)
        {
            
        }
        
    }
}
class NewException extends Exception
{
    String exc;
    
    NewException(String a)
    {
        exc=a;
    }
    public String toString()
    {
        return exc;
    }
}

class MISClass
{
    HashMap<String,MIS> hm=new HashMap<String,MIS>();
    
    void put(String a,MIS b)
    {
        hm.put(a,b);
    }
    void list()throws NewException
    {
        for(MIS i:hm.values())
        {
            
            try
            {
                if(i.averageAll()>100)
                    throw new NewException("**"+i.name+": "+i.averageAll());
                else
                    System.out.printf("%s: %.2f\n",i.name,i.averageAll());
            }
            catch(NewException n)
            {
                System.out.println(n);
            }
        }
    }
}

abstract class MIS
{
    String name;
    int chi;
    int eng;
    static int students=0;
    
    MIS(String a,int b,int c)
    {
        name=a;
        chi=b;
        eng=c;
        students++;
    }
    double averageNeed()
    {
        return (chi+eng)/2.0;
    }
    double averageAll()
    {
        return (this.averageNeed()*0.4)+(this.averageElect()*0.6);
    }
    static int countStudents()
    {
        return students;
    }
    abstract double averageElect();
}
class ITM extends IT
{
    int acct;
    
    ITM(String a,int b,int c,int d,int e,int f,int g)
    {
        super(a,b,c,d,e,f);
        acct=g;
    }
    double averageElect()
    {
        return (super.averageElect()+acct)/2.0;
    }
    double averageAll()
    {
        return (this.averageNeed()*0.4)+(super.averageElect()*0.4)+(acct*0.2);
    }
}
class IT extends MIS
{
    int pl;
    int db;
    int ds;
    
    IT(String a,int b,int c,int d,int e,int f)
    {
        super(a,b,c);
        pl=d;
        db=e;
        ds=f;
    }
    double averageElect()
    {
        return (pl+db+ds)/3.0;
    }
}
class IM extends MIS
{
    int econ;
    int acct;
    
    IM(String a,int b,int c,int d,int e)
    {
        super(a,b,c);
        econ=d;
        acct=e;
    }
    double averageElect()
    {
        return (econ+acct)/2.0;
    }
}

沒有留言:

張貼留言