问答题

[说明] 有若干教师,每个教师只有姓名,一个教师可以指导多名研究生;每名研究生有姓名和研究方向,程序最后输出每个教师指导的所有研究生的姓名和研究方向。 [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; (1) ; return true; } else return (2) ; } void disp(){ System.out.println(“指导老师"”+this.name); System.out.println(“研究生:”); for(int i=0;i< (3) ;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++) (4) ; } } class (5) { 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) Studen......

(↓↓↓ 点击下方‘点击查看答案’看完整答案 ↓↓↓)
热门 试题

问答题
[说明]下面的程序演示了根据随机产生的奖牌数,生成金银奖牌榜的过程。程序使用的排序法是简单排序法。以金牌得数为例,其思想是选择最大的元素,将它交换到最前面;然后对剩下的部分采用同样的方法,直到全部排序完成。程序界面中,左右两个文本框分别用于存放随机产生的奖牌数以及生成的奖牌榜,名为Text1和Text2,上下两个按钮分别名为Command1和Command2。代码中使用的量主要有:一维数组 cntries,用于存储10个国家的名称,二维数组medals,其元素medals(i,0)和medals(i,1)分别用于存放第i个(i从0开始)国家的金、银牌数目。[Visual Basic代码]Dim cntries(10) As String, medals(10,2) As Integer’随机产生奖牌数Sub newMedals()…… ’为数组cntries和medals赋值End Sub’输出奖牌榜Sub printOut(txt As (1) )Dim strResuh As String, i As IntegerstrResult=“国家”& Chr(9) &“金牌数”& Chr(9) &“银牌数”& vbCrLfFor i=0 To 9strResult = strResult & cntries(i) & Chr(9) & medals(i,0) & Chr(9) & medals(i,1) & vbCrLfNexttxt.Text = strResultEnd Sub’交换两变量的值Sub exchange( (2) a As Variant, (2) b As Variant)Dim temp As Varianttemp = a: a = b: b = tempEnd Sub’随机产生并输出奖牌数Private Sub Command1_Click()newMedalsprintOut Text1End Sub’生成并输出奖牌榜Private Sub Command2_Click()Dim i,j, k As Integer, temp As StringFor i = 0 To 9 ’按金牌数排序j = i ’找到自第i个位置起全部数据中金牌得数最多者,记其下标为jFor k = i + 1 To 9If (3) Then j=kNextIf i < > j Then ’若i,j不等,则交换对应位置的国家名、金银牌数目exchange cntnes(i), entries(j)exchange medals(i, 0), medals(j, 0)exchange medals(i, 1), medals(j, 1)End IfNextFor i = 0 To 9 ’按银牌数进行二次排序j = iFor k = i + 1 To 9If medals(k,0) <> medals(j, 0) Then (4) If (5) Then j = kNextIf i < > j Thenexchange cntries(i), cntries(j)exchange medals(i, 1), medals(j, 1)End IfNextprintOut Text2End Sub