java入門(包裝類練習)
阿新 • • 發佈:2020-12-11
技術標籤:JAVA學習之路(入門)java資料結構
包裝類的練習
練習要求:
* 利用Vector代替陣列處理:從鍵盤讀入學生成績,找出最高分,並輸出學生成績等級
* 陣列一旦建立,長度就固定不變,所以在建立陣列前就需要知道它的長度
* 向量類java.util.Vector可以動態伸縮
*
* 給向量新增元素
* v.addElement(Object obj);obj 必須是物件
我們在之前的一篇部落格中*****點選跳轉*****已經實現過學生成績的管理系統,功能包括遍歷,新增,刪除等。不過是基於陣列,而今天,我會通過Vector來代替陣列,並結合包裝類的概念來實現該功能。
完整程式碼
import java.util.Scanner;
import java.util.Vector;
/**
* 利用Vector代替陣列處理:從鍵盤讀入學生成績,找出最高分,並輸出學生成績等級
* 陣列一旦建立,長度就固定不變,所以在建立陣列前就需要知道它的長度
* 向量類java.util.Vector可以動態伸縮
*
* 給向量新增元素
* v.addElement(Object obj);obj 必須是物件
*/
public class HelloWorld {
public static void main(String[] args) {
//例項化Scanner,用於從鍵盤獲取學生成績
Scanner scan = new Scanner(System.in);
//建立Vector物件,相當於原來的陣列
Vector v = new Vector();
int maxScore = 0;
//通過迴圈的方式,給Vector新增資料
for(;;){
System.out.println("請輸入學生的成績:");
int score = scan.nextInt();
if(score < 0){//當輸入是負數時,跳出迴圈
break;
}
if(score > 100){
System.out.println("輸入資料不符合,請重新輸入:");
continue;
}
Integer inScore = new Integer(score);
v.addElement(score);//自動裝箱
//獲取成績最大值
if(maxScore < score){
maxScore = score;
}
}
//遍歷每個學生的成績,並與最大成績比較得到最大的等級
char level = ' ';
for(int i = 0;i < v.size();i++){
Object obj = v.elementAt(i);
Integer inScore = (Integer)obj;
int score = inScore.intValue();
if(maxScore - score <= 10){
level = 'A';
}else if(maxScore - score <=20){
level = 'B';
}else if(maxScore - score <=30){
level = 'C';
}else{
level = 'D';
}
System.out.println("student-"+i+"score is"+score+",level is "+level);
}
}
}
結果:
請輸入學生的成績:
33
請輸入學生的成績:
44
請輸入學生的成績:
66
請輸入學生的成績:
77
請輸入學生的成績:
-1
student-0score is33,level is D
student-1score is44,level is D
student-2score is66,level is B
student-3score is77,level is A
練習部分並沒有放過多的理論解釋,理論部分會在其他文章中體現和展示。