2013年3月21日 星期四

Day-3 迴圈 class

我原本以為迴圈可以玩上一天的,沒想到一個上午就結束了,可能是迴圈的變化太多,所以日後有遇到再說吧..XD。

下午老師講解了一下OCJP現在的考照相關事項,也鼓勵大家儘量去考一張起來,不過考一次要花4500元,很多人會卻步吧。

最後終於開始說要進入到java的正題,也就是物件導向的設計方式,
分為靜態和動態class 的部份,這邊我開始覺得有點玄了,和以前學的東西有點不一樣,
聽到會想睡,這點我要想辦法解決。

今天的作業是寫一個class來判斷輸入值的範圍,並從main來取得輸入值:



test.class

class test
{
public static void main(String args[])
{
/* student s1 = new student(50,-10);
student s2 = new student("aaa",102,67);
s1.show();
s2.show(); */
java.util.Scanner sc = new java.util.Scanner(System.in);
System.out.print("請輸入學生名字 : ");
String _name = sc.next();
System.out.print("請輸入國文成績 : ");
int _chi = sc.nextInt();
System.out.print("請輸入英文成績 : ");
int _eng = sc.nextInt();
System.out.println("");
student s = new student(_name , _chi , _eng);
s.show();
}


}

-------------------------------------------------------------------------------------------------
student.class

class student
{

//變數宣告
private String name;
private int chi ;
private int eng ;
private int sum ;
private String errmessage;

student()
{
chi = 60;
eng = 60;
sum = chi + eng;

}

student(int x , int y)
{
if((x>100 || x<0) && (y >100 || y < 0))
{
errmessage = "國英兩科成績資料超出範圍,以零分計算";
chi = 0;
eng = 0;
}else
{
if (x>100 || x<0)
{
errmessage = "國文成績資料超出範圍,以零分計算";
chi = 0;
}else
{
chi = x ;
}
if (y >100 || y < 0)
{
errmessage = "英文成績資料超出範圍,以零分計算";
eng = 0 ;
}else
{
eng = y ;
}
}

sum = chi + eng;
}

student( String x , int y , int z )
{
name = x;
if((y>100 || y<0) && (z >100 || z < 0))
{
errmessage = "國英兩科成績資料超出範圍,以零分計算";
chi = 0;
eng = 0;
}else
{
if (y>100 || y<0)
{
errmessage = "國文成績資料超出範圍,以零分計算";
chi = 0;
}else
{
chi = y ;
}
if (z >100 || z < 0)
{
errmessage = "英文成績資料超出範圍,以零分計算";
eng = 0 ;
}else
{
eng = z ;
}
}
sum = chi + eng;
}

void show()
{
if (errmessage != null)
System.out.println(errmessage);

System.out.println("姓名:"+name+
  "\n國文:"+chi+
  "\t英文:"+eng+
  "\t總分:"+sum);

}
}


沒有留言:

張貼留言