1. 程式人生 > 其它 >java--自動拆箱與自動裝箱聯絡

java--自動拆箱與自動裝箱聯絡

技術標籤:java

import java.util.Scanner;
import java.util.Vector;

public class ScoreTest {

    public static void main(String[] args) {
        //1.例項化Scanner,用於從鍵盤獲取學生成績
        Scanner scanner=new Scanner(System.in);

        //2.建立Vector物件,Vector v=new Vector()
        Vector v=new Vector();
        int
max=0; //3.通過for(;;)while(true)方式,給Vertor中新增陣列,當輸入資料在負數時跳出迴圈 while(true){ Integer integer=scanner.nextInt(); if(integer<=0){ break; } v.addElement(integer); if(max<integer){ max=integer; }
} //4.獲取成績的最大值 System.out.println("max= "+max); //5.遍歷Vector,得到每個學生的成績,並與最大值比較,輸出學生等級 for(int i=0;i<v.size();i++){ if(max-(Integer)v.get(i)<10){ System.out.println("成績為 "+(Integer)v.get(i)+"等級為 A");
}else if(max-(Integer)v.get(i)<20){ System.out.println("成績為 "+(Integer)v.get(i)+"等級為 B"); }else if(max-(Integer)v.get(i)<30){ System.out.println("成績為 "+(Integer)v.get(i)+"等級為 C"); }else { System.out.println("成績為 "+(Integer)v.get(i)+"等級為 D"); } } } }
優化後的程式碼
/**
 * 自動裝箱,自動拆箱,優化後的程式碼
 */
public class NewScoreTest {

    public static void main(String[] args) {
        //1.例項化Scanner,用於從鍵盤獲取學生成績
        Scanner scanner=new Scanner(System.in);
        int maxScore=0;//記錄最大成績
        Vector v=new Vector();
        while(true){
            //從鍵盤輸入學生的成績
            System.out.println("請輸入學生的成績,以負數結束");
            int score=scanner.nextInt();
            if(score<0){
                break;
            }
            if(score>100){
                System.out.println("輸入的成績不合法,請重寫輸入");
                continue;
            }
            v.addElement(score);//自動裝箱
            if(maxScore<score){
                maxScore=score;
            }

        }
        char level;//記錄level
        for(int i=0;i<v.size();i++){
            Object obj=v.elementAt(i);
            int score=(Integer)obj;//自動拆箱
            //計算學生的等級
            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);
        }
    }
}