sum += data[i]; }
【补充代码】 // 返回data数组的平均值 } }
Local localObj = new Local(); localObj.show();
System.out.println(\局部类计算的平均值: \ + localObj.average()); }
class Inner { void show() {
System.out.print(\从内部类显示数组元素:\); for (int i = 0; i < data.length; i++) { 【补充代码】 // 打印data数组的每个元素 }
System.out.println(); }
int average() { int sum = 0;
for (int i = 1; i < data.length; i++) { sum += data[i]; }
return sum / data.length; } } }
public class InnerClassTest {
public static void main(String[] args) {
int a[] = { 6, 8, 9, 22, 34, 7, 2, 1, 15 }; Outer outerObj = new Outer(a); outerObj.checkInner();
【补充代码】 // 调用outerObj对象的checkLocal方法 } } class Outer { private int data[]; Outer(int x[]) { data = x; } void checkInner() { Inner innerObj = new Inner(); innerObj.show();//调用Inner对象的show()方法 System.out.println(\内部类计算的平均值: \ + innerObj.average()); } void checkLocal() { class Local { void show() { System.out.print(\从局部类显示数组元素:\); for (int i=0; i 5. 编写一个学生信息管理系统,掌握接口的定义方法以及类的继承、封装和多态的特 性。 学生信息管理系统类图 1) 定义学生类Student.java,该类有学号、姓名和系部三个成员变量,并用get 和set方法进行属性的封装,请参考类图进行编写。 2) 定义接口IStudentDAO,其中包含下列数据操作方法 // 插入学生信息记录 public void insertStudent(Student stu); // 删除指定学号学生信息记录 public void deleteStudent(String sno); // 更新指定学生信息记录 public void updateStudent(Student stu); // 按学号查询指定学生信息记录 public Student findStudentBySno(String sno); // 显示指定学号学生信息记录 public void displayStudentBySno(String sno); // 显示所有学生信息记录 public void displayAllStudent(); 3) 定义接口IStudentDAO的实现类StudentDAOImpl,其中包含一个静态的集合对 象用来保存学生信息记录,以及接口的所有实现方法,请参考类图进行编写。 代码提示: static List public int size()返回此列表中的元素数。 public boolean isEmpty()如果此列表中没有元素,则返回 true public boolean add(E e)将指定的元素添加到此列表的尾部。 public boolean remove(Object o)移除此列表中首次出现的指定元素(如果存在)。 /** * 显示所有学生信息记录参考代码 */ @Override public void displayAllStudent() { if (students.size() > 0) { for (Student stu : students) { System.out.println(\学号: \ + stu.getSno() + \姓名: \ + stu.getSname() + \系部: \ + stu.getSdept()); } }else { System.out.println(\数据库中无学生记录!\); } } 4) 定义主类MainClass,实现应用程序的所有逻辑功能。参考代码如下: import java.util.Scanner; public class MainClass { /** * 菜单显示 * @param scanner * @return int */ static int menu_select(Scanner scanner) { int menuchoice = -1; System.out.printf(\); System.out.printf(\学生信息管理系统功能菜单 \\n\); System.out.printf(\作者:齐心 \\n\); System.out.printf(\\\n\); System.out.printf(\插入学生信息记录 \\n\); System.out.printf(\删除学生信息记录 \\n\); System.out.printf(\更新学生信息记录 \\n\); System.out.printf(\显示所有学生信息记录 \\n\); System.out.printf(\按学号查询指定学生信息 \\n\); System.out.printf(\结束程序 \\n\); System.out.printf(\\\n\); System.out.printf(\请输入您的选择: \\n\); menuchoice = scanner.nextInt(); return menuchoice; } /** * 输入学生信息 * @param stu * @param scanner */ static void inputStudent(Student stu, Scanner scanner) { System.out.println(\请输入学生的学号:\); stu.setSno(scanner.next()); System.out.println(\请输入学生的姓名:\); stu.setSname(scanner.next()); System.out.println(\请输入学生的系部:\); stu.setSdept(scanner.next()); } /** * 更新学生信息 * @param stu * @param scanner */