2013年4月13日 星期六

物件導向期中考-所有小考程式詳解

ex0226a
class ex0226a{
	public static void main(String[] args)
	{
		String fName="John", lName="Chen";
		int weight=56;               // weight: Kg
		int height=175;              // height: cm
		int age=20;
		boolean gender=true;

		// 1cm = 0.0328 英呎
		// 1kg  = 2.21 磅

		System.out.println(" Name: "+fName+" "+ lName);
		System.out.println(" Gender: "+gen(gender));
		System.out.println(" weight: "+wei(weight)+" 磅 ");
		System.out.println(" height: "+hei(height)+" 英呎 ");
	}
	public static String gen(boolean gen)
	{
        if(gen=true) return "Man";
        else return "Female";
	}
	public static Double wei(int wei)
	{
        return wei*2.21;
	}
	public static Double hei(int hei)
	{
        return hei*0.0328;
	}



}

ex0305a
import java.io.*;

class ex0305a{
	public static void main(String[] args) throws IOException{
//
//              input a string & transfer into a integer
//   
                System.out.print(" Input a number :");
	BufferedReader br =new 
		BufferedReader(new InputStreamReader(System.in));
	String str=br.readLine();
	int fee=Integer.parseInt(str);
//
                System.out.println(" NT1000 :" +fee/1000 );
		fee%=1000;
                System.out.println(" NT500 :" + fee/500);
		fee%=500;
                System.out.println(" NT100 :" + fee/100);
		fee%=100;
                System.out.println(" NT50 :" + fee/50);
		fee%=50;
                System.out.println(" NT10 :" + fee/10);
		fee%=10;
                System.out.println(" NT5 :" + fee/5);
		fee%=5;
                System.out.println(" NT1 :" + fee/1);

	}
}
ex0312a
class ex0312a{
        public static void main(String[] args){
	int data[]={81,95,66,80,77,51,69,33,-1,46,90,87,93,72,63,55,-1,65,66,71,50,88,47,49,83,61};

//       
//     Statistic A, B, C, D, Fail & absent students number
//
//    Accumulate total score and total number (except absent students)
//
	int na=0,nb=0,nc=0,nd=0,fn=0,an=0,sum=0;
	for(int i:data){
		if(i>=0){
			sum+=i;
			if(i>=90) na++;
			else if(i>=80) nb++;
			else if(i>=70) nc++;
			else if(i>=60) nd++;
			else fn++;

		}
		else
		an++;
	}

		System.out.println(" Number of A :"+na);
		System.out.println(" Number of B :"+nb);
		System.out.println(" Number of C :"+nc);
		System.out.println(" Number of D :"+nd);
		System.out.println(" Fail Number :"+fn);
		System.out.println(" Absent Number  :"+ an);
		System.out.println(" *** Average :"+avg(sum,data.length-an));
        }
//
// sum: total score (except absent students)
//
// num: total number (except absent students)
//
	public static double avg(int sum, int num){
		double tmp;
		int tmp1;

		tmp=(double)sum/num;
		tmp1=(int)(tmp*10);
		return tmp1/10.0;
	}
}

ex0319b
class ex0319b{
	public static void main(String[] args) 
	{
		int[][] matA={{1,2,3},{4,5,6},{7,8,9}};
		int[][] matB={{1,7,6,4,3},{2,1,5,7,9},{4,3,5,1,7}};
		int[][] matC=new int[3][5];
		// Declate and allocate two dimension int array ==> matC
		int sum=0;

                                  mtrPtr(matA);
		System.out.println("=====================================");
                                  mtrPtr(matB);
                for(int i=0;i<matC.length;i++){
			for(int j=0;j<matC[i].length;j++){
				sum=0;
				for(int k=0;k<matC.length;k++)
					sum=sum+matA[i][k]*matB[k][j];
				matC[i][j]=sum;
			}
		}
		System.out.println("=====================================");
                                  mtrPtr(matC);
	}
	public static void mtrPtr(int[][] mat){
        for(int i=0;i<mat.length;i++){
			for(int j=0;j<mat[i].length;j++)
				System.out.print("  "+mat[i][j]+"\t");
			System.out.println();
		}
	}
}

ex0326b
class student{
	String name;
	int age;
	boolean gender;

	student(){};
	void setName(String nn){
		name=nn;
	}
	String getName(){
		return name;
	}

	void setAge(int nn){
		age=nn;
	}
	int getAge(){
		return age;
	}

	void setGender(boolean nn){
		gender=nn;
	}
	boolean getGender(){
		return gender;
	}
}

class ex0326b{
	public static void main(String[] args) 
	{
		student std01=new student();
		std01.setName("Mary Chen");
		std01.setAge(20);
		std01.setGender(true);
		System.out.println(" Std name: "+std01.getName());
		System.out.println(" Std age: "+std01.getAge());
		System.out.println(" Std gender: "+std01.getGender());
	}
}

ex0326d
class score{
	int[] data;
	int base=60;

	score(int[] dd){ data=dd;}
	int getHigh(){
        	int high=0;
		for(int i:data) if(i>high) high=i;
		return high;
	}
	int passNo(){
		int count=0;
		for(int i:data) if(i>=base) count++;
		return count;
	}
	float getAvg(){
		float sum=0f;
		for(int i:data) sum+=i;
		return sum/(float) data.length;
	}
}

class ex0326d{
	public static void main(String[] args) 
	{
		int[] dataA={99,88,77,66,55,44,92,56};
		int[] dataB={63,57,89,73,61,72,78,47,76,85,63,90,51,68,39};
		int[] dataC={79,78,47,96,85,54,80,66,73,52,84,73,97,60,55,70,65};
		score itmA=new score(dataA);
		score itmB=new score(dataB);
		score itmC=new score(dataC);

		System.out.println(" Highest score of itmA: "+itmA.getHigh());
		System.out.println(" Pass No of itmA: "+itmA.passNo());
		System.out.println(" Average of itmA: "+itmA.getAvg());
		System.out.println(" Highest score of itmB: "+itmB.getHigh());
		System.out.println(" Pass No of itmB: "+itmB.passNo());
		System.out.println(" Average of itmB: "+itmB.getAvg());
		System.out.println(" Highest score of itmC: "+itmC.getHigh());
		System.out.println(" Pass No of itmC: "+itmC.passNo());
		System.out.println(" Average of itmC: "+itmC.getAvg());
		System.out.println(" *Highest score of all: "+getMax(itmA.getHigh(),itmB.getHigh(),itmC.getHigh()));
		System.out.println(" *Pass No of all: "+(itmA.passNo()+itmB.passNo()+itmC.passNo()));
		System.out.println(" *Average of all: "+(itmA.getAvg()+itmB.getAvg()+itmC.getAvg())/3);
	}
	public static int getMax(int a, int b, int c){
		if(a > b)
			if( a > c) return a;
			else return c;
		else
			if(b > c) return b;
			else return c;
	}
}

ex0326x
class ex0326x{
	public static void main(String[] args) 
	{
		int[][] fee={{45,40,50,30,45},{100,95,80,90,110},
                                                     {90,85,120,110,150}};
		int[] sumDay=new int[5];
		int[] sumBld=new int[3];
		int sum=0;

		for(int i=0;i<3;i++){
			sum=0;
			for(int j=0;j<5;j++){
				sum=sum+fee[i][j];
			}
			sumBld[i]=sum;
		}
		for(int j=0;j<5;j++){
			sum=0;
			for(int i=0;i<3;i++){
				sum=sum+fee[i][j];
			}
			sumDay[j]=sum;
		}	
                                  mtrPtr(fee);
		System.out.println("  Total fee of Breakfast, Lunch and dinner: "+
                                                             sumBld[0]+"  "+sumBld[1]+"  "+sumBld[2]);
		System.out.print("  Total fee of each day: ");
		for(int df: sumDay) System.out.print("  "+df);
		System.out.println();
	}
	public static void mtrPtr(int[][] mat){
                                  for(int i=0;i<mat.length;i++){
			for(int j=0;j<mat[0].length;j++)
				System.out.print("  "+mat[i][j]+"\t");
			System.out.println();
		}
	}
}

ex0409b
class point{
	int x, y;

	point(){ 
		x=0;
		y=0;
	}
	
	point(int x, int y){
		this.x=x;
		this.y=y;
	}

	double distance(){   // Distance from point to origin 
		return (int) (Math.sqrt(x*x+y*y)*100)/100.0;	
	}
	int location(){
		if(x==0 && y==0) return 0;       // on origin
		if(x>0 && y>0) return 1;           // on 1st quadrant
		if(x<0 && y>0)  return 2;          // on 2nd quadrant
		if(x<0 && y<0)  return 3;          // on 3rd quadrant
		if(x>0 && y<0) return 4;           // on 4thquadrant
		if(y==0) return 5;                     // on X axle
		return 6;                                  // on Y axle
	}
	int disX(){     // Distance from point to X axle 
		return Math.abs(y);	
	}
	int disY(){    // Distance from point to Y axle
		return Math.abs(x);	
	}
}

class ex0409b{
	public static void main(String[] args) 
	{
		// create 3 points object;
                               // point1 ==> (0, 0), point2 ==> (4, 7), point3 ==> (-5 ,3)

		point p1 = new point();
		point p2 = new point(4,7);
		point p3 = new point(-5,3);

		System.out.println(" Location of point1: "+p1.location());
		System.out.println(" Location of ponit2: "+p2.location() );
		System.out.println(" Location of point3: "+p3.location() );

		System.out.println(" Distance of point1: "+p1.distance() );
		System.out.println(" Distance of point2: "+p2.distance() );
		System.out.println(" Distance of point3: "+p3.distance() );

		System.out.println(" Distance point2 to X : "+p2.disX() );
		System.out.println(" Distance point2 to Y : "+p2.disY() );
		System.out.println(" Distance point3 to X : "+p3.disX() );
		System.out.println(" Distance point3 to Y : "+p3.disY() );
	}
}

test1
class test1{
	public static void main(String[] args) 
	{
		int aa=-1,bb,cc,dd;

		bb=aa>>1;
		cc=aa>>>1;
		dd=aa<<1;
		System.out.println("   aa >> 1 "+ bb);
		System.out.println("   aa >>> 1 "+ cc);
		System.out.println("   aa << 1 "+ dd);
	}
}

沒有留言:

張貼留言