包装类练习

TestScore:

package com.aff.wrapper;

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

/*
 用Vector代表数组处理,从键盘读入学生成绩(负数代表输出结束),找出最高分,并输出学生成绩等级
 提示:数组一旦创建长度固定不变, 所以在创建数组前就必须知道他的长度,
           而向量类java.util.Vector可以根据需要动态伸缩。
           创建Vector对象:Vector v = new Vector();
           给向量添加元素:v.addElement(obj); //obj 必须是对象
           取出向量中的元素:Object obj = v.elementAt(0);
           注意:第一个元素的下标为0,返回值是Object类型的
           计算向量的长度:v.size();
           若与最高分相差10分内:A等;  20分内:B等
           30分内:C等;其他:D等 
 */
public class TestScore {
    public static void main(String[] args) {
        Scanner s = new Scanner(System.in);
        System.out.println("s输入成绩,负数代表结束");
        // for(;;) 输入学生成绩,并填入Vector v = new Vector()创建的对象v中
        Vector v = new Vector();
        int maxScore = 0; // 最高分
        for (;;) {
            int score = s.nextInt();
            if (score < 0) {
                break;
            }
            if (maxScore < score) {
                maxScore = score;
            }
            // Integer score1 = new Integer(score); 自动装箱了,可 不写
            v.addElement(score);
        }

        // 求最高分,通过v.elementAt(i),获取填入v中的元素,同时判断一下各个分数的等级并输出

        for (int i = 0; i < v.size(); i++) {
            Integer score = (Integer) v.elementAt(i);// object类型的强转为int型
            char level;
            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("成绩为:" + score + "等级为:" + level);
        }
    }
}

输出结果:

s输入成绩,负数代表结束
64
99
13
85
76
35
-8
成绩为:64等级为:D
成绩为:99等级为:A
成绩为:13等级为:D
成绩为:85等级为:B
成绩为:76等级为:C
成绩为:35等级为:D

 

posted @ 2020-03-19 11:20  林淼零  阅读(105)  评论(0编辑  收藏  举报