分别用Vector和ArrayList来存储和访问学生以及课程的相关信息。 (1) 定义类Student,拥有两个属性:学号sno(int)和姓名name(String); (2) 定义类Course,拥有三个属性:课程号cno(int),课程名称cname(String)和学分credit(int); (3) 定义一个集合类Vector的对象stu,以及一个集合类ArrayList的对象cour。 (4) 向stu中加入6个学生的实例[{1001, “张三”},{1002, “李四”}, {1003, “王五”}, {1004, “赵六”}, {1005, “赵小宝”}, {1006, “张小明”}] ; (5) 向cour中加入4门课程的实例[{1, “Java程序设计”, 3}, {1, “, 3}, {2, “数据结构”, 4}, {3, “数据库原理”, 3}, {4, “计算机网络”, 4}]; (6) 用Interator遍历stu中的元素,删除名字大于等于3个字的学生; (7) 用数组下标遍历cour中的元素,将“数据结构”这门课程的学分从4学分改为2学分。用JAVA实现
时间: 2024-03-10 21:47:29 浏览: 80
以下是用Java实现题目要求的代码:
```java
import java.util.ArrayList;
import java.util.Iterator;
import java.util.Vector;
public class Main {
public static void main(String[] args) {
// 创建存储学生信息的Vector对象
Vector<Student> stu = new Vector<Student>();
// 向stu中加入6个学生的实例
stu.add(new Student(1001, "张三"));
stu.add(new Student(1002, "李四"));
stu.add(new Student(1003, "王五"));
stu.add(new Student(1004, "赵六"));
stu.add(new Student(1005, "赵小宝"));
stu.add(new Student(1006, "张小明"));
// 创建存储课程信息的ArrayList对象
ArrayList<Course> cour = new ArrayList<Course>();
// 向cour中加入4门课程的实例
cour.add(new Course(1, "Java程序设计", 3));
cour.add(new Course(2, "数据结构", 4));
cour.add(new Course(3, "数据库原理", 3));
cour.add(new Course(4, "计算机网络", 4));
// 用Iterator遍历stu中的元素,删除名字大于等于3个字的学生
Iterator<Student> it = stu.iterator();
while (it.hasNext()) {
Student s = it.next();
if (s.getName().length() >= 3) {
it.remove();
}
}
// 用数组下标遍历cour中的元素,将“数据结构”这门课程的学分从4学分改为2学分
for (int i = 0; i < cour.size(); i++) {
if (cour.get(i).getCname().equals("数据结构")) {
cour.get(i).setCredit(2);
}
}
}
}
class Student {
private int sno;
private String name;
public Student(int sno, String name) {
this.sno = sno;
this.name = name;
}
public int getSno() {
return sno;
}
public String getName() {
return name;
}
}
class Course {
private int cno;
private String cname;
private int credit;
public Course(int cno, String cname, int credit) {
this.cno = cno;
this.cname = cname;
this.credit = credit;
}
public int getCno() {
return cno;
}
public String getCname() {
return cname;
}
public int getCredit() {
return credit;
}
public void setCredit(int credit) {
this.credit = credit;
}
}
```
注意,题目要求使用Vector和ArrayList来存储和访问学生以及课程的相关信息。在Java中,Vector和ArrayList都是List接口的实现类,它们的使用方式类似,但有一些区别。Vector是线程安全的,而ArrayList是非线程安全的。如果需要在多线程环境下使用,可以选择Vector;如果只在单线程环境下使用,可以选择ArrayList。此外,Vector和ArrayList的底层都是采用数组实现的,但Vector默认的初始化容量是10,而ArrayList默认的初始化容量是0,需要在添加元素时动态扩容。
阅读全文