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