c[i][i]=a[i][i]+b[i][i];
System.out.print(c[i][i]+"");
if(j==a[i].length-1)System.out.println();
}
}
}
65
411
34.阅读下列程序,请写出该程序的功能。
importjava.applet.*;importjavax.swing.*;
importjava.awt.event.*;importjava.util.*;
publicclassStrCextendsApplet{
staticJTextFieldtextl,text2;Ss=newS();
publicvoidinit(){
textl=newJTextField(20);text2=newJTextField(20);setSize(400,l00);
add(textl);add(text2);textl.addActionListener(s);
}
}
classSimplementsActionListener(
publicvoidactionPerformed(ActionEvente){
if(e.getSource()==StrC.textl){
Strings=StrC.textl.getText();Stringss="":
StringTokenizerpas=newStringTokenizer(s);
while(pas.hasMoreTokens()){ss+=pas.nextToken();)
StrC.text2.setText(ss);
}
}
}
在文本框text1中输入字符串回车时,获取其字符串值,然后去掉空格、tab后显示在文本框text2中。
35.阅读下列程序,请写出该程序的功能。
importjavax.swing.*;importjava.awt.*;importjava.awt.event.*;
publicclassComboBoxApp{
publicstaticvoidmain(String[]args){
ComboBoxDemomyComboBoxGUI=newComboBoxDemo();
}
}
classComboBoxDemoextendsJFrameimplementsActionListener{
StringproList[]={"Java","C++,"Fortran");
JTextFieldtext;JComboBoxcomboBox;
publicComboBoxDemo(){
setSize(200,100);
ContainerconPane=getContentPane();
conPane.setBackground(Color.BLUE);
conPane.setLayout(newFlowLayout());
comboBox=newJComboBox(proList);
comboBox.addActionListener(this);
comboBox.setEditable(true);
conPane.add(comboBox);text=newJTextField(10);
JScrollPanejsp=newJScrollPane(text);
conPane.add(jsp);this.setVisible(true);
}
publicvoidactionPerformed(ActionEvente){
if(e.getSource()==comboBox)
text.setText(String.valueOf
(comboBox.getSelectedltem().toString().1ength()));
}
}
在大小为200*100的蓝色背景窗体框架上,按流型布局的方式添加一个下拉选择框和一个带滚动条的文本框;当点击下拉选择框时,将选择内容的长度显示在文本框text中
36.阅读下列程序,请写出该程序的功能。
publicclassTwoThreadextendsThread{
privateThreadcreatorThread;
publicTwoThread(){creatorThread=Thread.currentThread();}
publicvoidrun(){
for(inti=0;i<5;i++){printMsg();}
}
publicvoidprintMsg(){
Threadt=Thread.currentThread();
if(t==creatorThread){System.out.println("Creatorthread");
}elseif(t==this){System.out.println("Newthread");}
}
publicstaticvoidmain(String[]args){
TwoThreadtt=newTwoThread();tt.start();
for(inti=O;i<10;i++){tt.printMsg();}
}
}
通过10次循环判断当前获得cpu使用权的是主线程还是tt线程;如果是主线程则输出"Creatorthread";如果是tt线程,则输出"Newthread"。
六、程序设计题(本大题共2小题,每小题6分,共12分)
37.请编写方法doubleaverageOfArray(double[]a),返回非空数组中正数的平均值(数组中可能有非正数元素)。
doubleaverageOfArray(double[]a){
inti,n=0;doubles=0.0;
for(i=0;i0){s=s+a[i];n++;}
returns/n;
}
38.一个小应用程序,界面如题38图所示,其功能为比较两个文本框中输入的字符串是否相同,如果相同,那么在下方显示“两个字符串相同”,否则,显示“两个字符串不同”。
按下“重置”按钮后清空文本框里面的内容。
以下是程序的大部分,请编写其中的监视器方法。
importjava.applet.*;importjavax.swing.*;
importjava.awt.event.*;
publicclassa38extendsAppletimplementsActionListener{
JTextFieldtextl,text2;
JButtonbutton1,button2;JLabellabel1;
publicvoidinit(){
text1=newJTextField(12);text2=newJTextField(12);
buttonl=newJButton("比较");button2=newJButton("重置"):
label1=newJLabel("此处显示比较结果"):
add(text1);add(text2);add(button1);add(button2);add(1abel1);
text1.requestFocus();//将光标自动定位到第一个文本框
button1.addActionListener(this);button2.addActionListener(this);
}
publicvoidactionPerformed(ActionEvente){
//请在以下位置编写代码
if(e.getSource()==button1){
if(text1.getText().equals(text2.getText()))
label1.setText(“两个字符串相同”);
elselabel1.setText(“两个字符串不同”);
}elseif(e.getSource()==button2){
text1.setText(null);text2.setText(null);
}
}
}