问答题

本程序是一个Applet,页面中包括两个列表和两个文本域,第一个列表列出了要计算的表达式,第二个列表列出计算表达式中的项数,点击第一个列表中的项选中要计算的表达式并显示在第一个文本域中,双击第二个列表要计算的项数,就能在第二个文本域中输出计算结果,如图所示。


import java. applet. *; import java. awt. *; import java. awt. event. *;
public class exam_78 extends Applet implements ItemListener,ActionListener
{ List list1,list2;
TextArea text1,text2; int index=0;
public void init ()
{ list1=new List (6, false); list2=new List (6, false);
text1=new TextArea(6,15); text2=new TextArea(6,15);
list1.add("计算1+2+..."); list1.add("计算1*1+2*2+3*3...");
list1.add ("计算1*1*1+2*2*2+3*3*3... ");
for(int i=1;i<=100;i++)
{ list2, add ("前"+i+"项和");
}
add(list1);add(list2);add(text1);add(text2);
list1.addItemListener(this);
______;
}
public void itemStateChanged(ItemEvent e)
{ if(e.getItemSelectable()==list1)
{ text1.setText(list1.getSelectedItem());
index=list1.getSelectedIndex();
}
}
public void actionPerformed(ActionEvent e)
{ int n=list2.getSelectedIndex(),sum=0;
String name=list2.getSelectedItem();
switch(______)
{ case 0:
for(int i=1;i<=n+l;i++)
{ sum=sum+i;
}
break;
case 1:
for(int i=1;i<=n+1;i++)
{ sum=sum+i*i;
}
break;
case 2:
for(int i=1;i<=n+1;i++)
{ sum=sum+i*i*i;
}
break;
default :
sum=-100;
}
text2, setText (name+"等于"+sum);
}
}
exam_78.html:
<html>
<head><title>exam_78</title></head>
<body>
<applet code="exam_78.class" width="400" height="500">
</applet>
</body>
</html>

【参考答案】

第1处:list2.addActionListener(this)
第2处:index