31.某个缓冲式输出的示意程序的界面有一个文本框fileOut和一个文本区text,程序运 行时,先在文本区中输入要存入文件的内容,接着在文本框中输入文件名并回车, 则程序将文本区中的内容保存到指定的文件中。以下是该程序中相应文本框文件名 的输入事件的方法。
public void actionPerformed(ActionEvent e){
if (e.getSource()==fileOut){
try{
out = new BufferedWriter(new ______ );
out.______ ;
out.flush(); out.close(); text.setText(null);
} catch (FileNotFoundException el){
System.out.print("文件没有找到!\n");
}catch (IOException exp){
System.out.print("文件读写出错!\n");
}
}
}
五、程序分析题(本大题共5小题,每小题4分,共20分)
32.阅读下列程序,请写出该程序的输出结果。
class Mother{
public voicl methodl(){
System.out.println("Call Mother's methodl()");
}
public void method2(){
System.out.println("Call Mother's method2()"); methodl();
}
}
class Girl extends Mother{
public void methodl(){
System.out.println("Call Girl's methodl()");
}
public static void main(String args[]){
Girl g= new Girl(); g.method2();
}
}
33.阅读下列程序,请写出调用Test33(4)的输出结果。
public static void Test33(int n){
int i,j,a[][]=new int[n][n];
for(i=0;i if(i%2==0) for(j=0;j a[i][j]=j+1; else for (j=n-l;j>=0;j--) a[i][j]=n-j; } for(i=0;i for(j=0;j System.out.print("t"+ a[i][j]); System.out.println(); } } 34.阅读下列程序,请回答以下问题: (1)在文本框中输入1 7,在文本区中会显示多少行整数,各行有几个数? (2)如果将程序的第一行删除,程序中标号①~⑨语句中哪些会出现错误? import java.awt.*;∥问题(2)所指要删除的行 import javax.swing.*; import java.awt.event.*; public class Test34 extends JFrame implements ActionListener{ JTextField textF; JTextArea textA; Test34(){ Container con = getContentPane(); ∥① con.setLayout(new BorderLayout()); ∥② textF = new JTextField(10); ∥③ textF.addActionListener(this); ∥④ textA = new JTextArea(6, 10); ∥⑤ setSize(240, 200); ∥⑥ con.add(textF, "North"); ∥⑦ con.add(textA, "Center"); ∥⑧ setVisible(true); ∥⑨ } public static void main(String[] args){ new Test34(); } public voicl actionPerformed(ActionEvent e){ int n,d; if(e.getSource()==textF){ n = Integer.parseInt(textF.getText()); for (int k=1;k<=n; k++){ d= (int) (Math.ranclom()*1000 % 1000); textA.append(" "+d); if(k%5==0)textA.append(""); } } } } 35.阅读下列程序,请回答以下问题: (1)程序运行时,呈现的界面中菜单条有哪些菜单? (2)程序中带注释/*1*/的代码行的作用是什么? import javax.swing.*;import java.awt.*;import java.awt.event.*; class MenuWindow extends JFrame implements ActionListener{ JTextField text; MenuWindow (String s,String menuList[][]){ setTitle(s); Container con = this.getContentPane(); con.setLayout(new BorderLayout()); this.setLocation(100, 100); this.setSize(300, 100); JMenuBar menubar=new JMenuBar(); for(int i=0;i< menuList.length; i++){ JMenu menu = new JMenu(menuList[i][0]); for(int j=1;j JMenuItem anItem=new JMlenuItem(menuList[i][j]); /*1*/ anItem.setActionCommand(menuList[i][j]); anItem.addActionListener(this); menu.add(anItem); } menubar.add(menu); } text = new JTextField(); setjMenuBar(menubar); con.add(text,BorderLayout.SOUTH); } public void actionPerformed(ActionEvent e){ text.setText("<"+e.getActionCommand()+">菜单项被选中!"); } } public class Test35{ public static void main(String[] args){ MenuWindow window; String menuList[][]={{"体育","跑步","打篮球","打乒乓"}, {"娱乐","唱歌","跳舞"}, {"学习","数学","语文"}}; window=new MenuWindow("菜单示例程序",menuList); window.setVisible(true); } }