利用Vector代替数组处理:从键盘读入学生成绩(以负数代表输入结束),找出最高分,并输出学生成绩等级。
提示:数组一旦创建,长度就固定不变,所以在创建数组前就需要知道它的长度。而向量类java.util.Vector可以根据需要动态伸缩。
1创建Vector对象:Vector v=new Vector();
2给向量添加元素:v.addElement(obj); //obj必须是对象
3取出向量中的元素:Object obj=v.elementAt(0);
4注意第一个元素的下标是0,返回值是Object类型的。
5计算向量的长度:v.size();
若与最高分相差10分内:A等;20分内:B等;30分内:C等;其它:D等
public class WorkVector {
public static void main(String[] args) {
Vector c=new Vector();
int n=0;
int max=0;
System.out.println("请输入学生成绩:");
System.out.println("提示:若输出为负数则录入结束");
while(n>=0){
Scanner input=new Scanner(System.in);
n=input.nextInt();
if(n>=0&&n<=100) {
c.addElement(n);
}
}
System.out.println(c.size());
for(int i=0;i<c.size();i++) {
if(((int)c.elementAt(i))>max) {
max=(int)c.elementAt(i);
}
System.out.println(c.elementAt(i));
}
System.out.println("最高分为:"+max);
for(int i=0;i<c.size();i++) {
if(max-((int)c.elementAt(i))<=10) {
System.out.println(c.elementAt(i)+"\tA等");
}else if(max-((int)c.elementAt(i))<=20) {
System.out.println(c.elementAt(i)+"\tB等");
}else if(max-((int)c.elementAt(i))<=30) {
System.out.println(c.elementAt(i)+"\tC等");
}else {
System.out.println(c.elementAt(i)+"\tD等");
}
}
}
}