java---面向对象 11(自动拆箱、装箱)

发布于:2023-01-20 ⋅ 阅读:(378) ⋅ 点赞:(0)

题目:

代码

package scan;

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

public class Wrapper {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        
        Vector v = new Vector();//自动成成想要大小的空间数组
        
        
        int maxscore = 0 ;
        for( ; ; ) {
            System.out.println("请输入学生成绩(负数表示结束)");
            int score = scan.nextInt();
            if(score < 0) {
                break;
            }
            if(score > 100) {
                System.out.println("输入的非法请重新输入");
                continue ;
            }
            Integer inscore = score ;//自动装箱,
            //把基本数据类型转换为引用类装箱
            v.addElement(inscore); 

            
            if(maxscore < score) {
                maxscore = score ;
            }
        }
        char level ;
        for(int i = 0 ; i < v.size() ; i++) {
            Object obj = v.elementAt(i);//遍历
            int score = (int)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" + level );
        }
    }
}