问答题 [说明] 有若干教师,每个教师只有姓名,一个教师可以指导多名研究生;每名研究生有姓名和研究方向,程序最后输出每个教师指导的所有研究生的姓名和研究方向。 [Java程序] public class Teacher { String name; int top=0; Student[] student=new Student[20]; public Teacher() {} public Teacher(String name) { this.name=name;} boolean add(Student stu){ int len=this.student.length; if (top<len-1) { this.student[top]=siu; {{U}}(1) {{/U}}; return true; } else return {{U}}(2) {{/U}}; } void disp(){ System.out.println(“指导老师"”+this.name); System.out.println(“研究生:”); for(int i=0;i<{{U}} (3) {{/U}};i++){ System.out.println(“姓名:”+this.student[i].name+“/t研究方向:”+this.student[i]. search); } } public static void main(String[] args){ Teacher t[]={new Teacher(“李明”),new Teacher(“王华”)}; Student s1 = new Student(“孙强”,“数据库”); Student s2 = new Student(“陈文”,“软件工程”); Student s3 = new Student(“章锐”,“计算机网络”); if(! t[0].add(s1)) {System.out.println(“每个老师最多只能指导20个学生!”);} if(! t[0].add(a2)) {System.out.println(“每个老师最多只能指导20个学生!”);} if(! t[1].add(s3)) {System.out.println(“每个老师最多只能指导20个学生!”);} for(int i=0;i<2;i++) {{U}}(4) {{/U}}; } } class {{U}}(5) {{/U}}{ String name; String search; public Student(){} public Student(String name,String search){ this.name=name; this.search=search; } String getName(){return this.name;} String getSearch(){return this.search;} }
【正确答案】
【答案解析】(1) top++及其等效形式 (2) false (3) top (4) t[i].disp() (5) Student [考点分析] 考查Java语言程序设计,主要是类的使用。 [解析] (1)~(2):add函数是给Teacher类的student数组增加一个学生,每个老师最多能指导20个学生,如果增加成功则返回true;否则返回false。Top是一个表示student数组里面有多少个学生的标志。每增加一个学生,top就要加1; (3)disp函数是用一个循环来显示老师所指导的所有学生,循环变量从0开始,上限是top-1; (4)此处是调用disp函数来显示所有老师指导的学生。 (5)根据程序大意,这是Student类的定义。