问答题
[说明]
有若干教师,每个教师只有姓名,一个教师可以指导多名研究生;每名研究生有姓名和研究方向,程序最后输出每个教师指导的所有研究生的姓名和研究方向。
[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类的定义。