问答题本程序中,主窗口中包括一个文本框和一个文本域,在文本框中输入一个整数后回车,就会在文本域中显示该整数的平方值;如果在文本框中输入的不是一个整数,回车后将弹出一个警告窗口,如图所示。importjava.awt.event.*;importjava.awt.*;importjavax.swing.JOptionPane;classDwindowextendsFrameimplementsActionListener{TextFieldinputNumber;TextAreashow;Dwindow(Strings){super(s);inputNumber=newTextField(22);inputNumber,addActionListener(this);show=newTextArea();add(inputNumber,BorderLayout.NORTH);add(show,BorderLayout.CENTER);setBounds(60,60,300,300);setVisible(true);validate();addWindowListener(newWindowAdapter(){publicvoidwindowClosing(WindowEvente){System.exit(0);}});}publicvoidactionPerformed(ActionEvente){booleanboo=false;if(e.getSource()==inputNumber){Strings=______;chara[]=s.toCharArray();for(inti=0;i<a.length;i++){if(!(Character.isDigit(a[i])))boo=true;}if(boo==true){JOptionPane.showMessageDialog(this,"您输入了非法字符","警告对话框",______);inputNumber.setText(null);}elseif(boo==false){intnumber=Integer.parseInt(s);show.append("/n"+number+"平方:"+(number*number));}}}}publicclassexam_89{publicstaticvoidmain(Stringargs[]){newDwindow("exam_89");}}
问答题本程序的功能是把一个字符串作为参数传递给程序,并与程序中的字符串比较,如果相等则输出“Equal”,否则输出“Unequal”,例如运行程序:java exam_6 Welcome,则打印输出:Equal。
public class exam_6{
public static void main(String[] args){
String str=______("Welcome");
String temp=null;
if(args.length>0){
______;
}
if(______)
System.out.println("Equal");
else
System.out.println("Unequal");
System.out.println();
}
}
问答题注意:下面出现的“考生文件夹”均为%USER%。在考生文件夹下存有文件名为Java_2.java文件,本题功能是统计骰子旋转500次后每个面出现的频率(起始面是随机的)。请完善Java_2.java文件,并进行调试,某次程序结果如下:由于Java_2.java文件不完整,请在注释行“//*********Found*********”下一行语句的下画线地方填入正确内容,然后删除下画线,请勿删除注释行或其他已有语句内容。存盘时,文件必须存放在考生文件夹下,不得改变原有文件的文件名。给定源程序:importjavax.swing.*;publicclassJava_2publicstaticvoidmain(Stringargs[])intfrequency1=0,frequency2=0,frequency3=0,frequency4=0,frequency5=0,frequency6=0,face;//骰子旋转500次的代码for(introll=1;roll<=500;roll++)face=1+(int)(Mathrandom()*6);//*********Found**********switch(______)case1:++frequency1;break;case2:++frequency2;break;case3:++frequency3;break;case4:++frequency4;break;case5:++frequency5;break;case6:++frequency6;break;//*********Found**********JTextAreaoutputArea=______JTextArea(7,10);outputArea.setText("面/t频率"+"/n1/t"+frequency1+"/n2/t"+frequency2+"/n3/t"+frequency3+"/n4/t"+frequency4+"/n5/t"+frequency5+"/n6/t"+frequency6);//*********Found**********JOptionPane.showMessageDialog(null,______,"骰子旋转500次",JOptionPane.INFORMATION_MESSAGE);//*********Found**********System.______(0);
问答题注意:下面出现的“考生文件夹”均为%USER%。在考生文件夹中存有文件名为Java_3.java和Java_3.html文件,本题的功能是在一个Applet窗口中,显示一个字符串。请完善Java_3.java文件,并进行调试(在命令行中使用appletviewerJava_3.html,或者使用集成开发环境),程序显示小程序的窗口如下:由于Java_3.java文件不完整,请在注释行“//*********Found*********”下一行语句的下画线地方填入正确内容,然后删除下画线,请勿删除注释行或其他已有语句内容。存盘时,文件必须存放在考生文件夹下,不得改变原有文件的文件名。给定源程序:importJava.awt.*;importjavax.swing.*;//*********Found**********publicclassJava_3______JApplet//*********Found**********publicvoid_____()ContainercontentPane=getContentPane();JLabellabel=newJLabel("Java的诞生是对传统计算模式的挑战!",SwingConstants.CENTER);//*********Found**********contentPaneadd(______);
问答题“角谷猜想”指出将一个自然数按以下的规则进行运算:若数为偶数,则除以2;若为奇数乘3加1。将得到的数按该规则重复运算,最终可得1。请在下面程序得每条横线处填写一和语句,使程序的功能完整。(如:输入34,则输出结果为34 17 52 26 13 40 20 10 5 16 8 4 2 1)
注意:请勿改动main()主方法和其他已有的语句内容,仅在横线处填人适当的语句。
import java.io.*;
class JiaoGu{
public static void main(String args[])
{
System.out.print("/n请输入一个数");
try
{
BufferedReader br=new BufferedReader(new lnputStreamReader(System.in));
String s=" ";
try {
s=br.readline();
}
catch (IOExceptine){
}
__________
while(a! =1)
{
System.out.print(" "+a);
if(a%2==1)
__________
else
a=a/2;
}
System.out.println(" "+a);
}
__________{}
}
}
问答题System.out.println("sum="+sum);
问答题下面是一个Applet程序,其功能是进行整数加法运算,要求有3个文本区域,2个作为输入,一个作为输出,并且有异常处理来判断输入的数字是否符为整型,如果是则进行运算,否则抛出异常并显示于第3个文本区域中。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。注意:不改动程序的结构,不得增行或删行。程序运行结果如下:importjava.awt.*;importjava.awt.event.*;importjava.applet.Applet;/*<appletcode="ex17_3.class"width=800height=400></applet>*/publicclassex17_3extendsAppletimplementsActionListenerTextFieldtf1=newTextField(5);TextFieldtf2=newTextField(5);TextFieldtf3=newTextField(5);Label11=newLabel("+");Label12=newLabel("=");Buttonbtn=newButton("相加");publicvoidinit()add(11);add(tf1);add(tf2);add(12);add(tf3);add(btn);btn.addActionListener(this);publicvoidactionPerformed(ActionEventae)tryinta=Integer.parseInt(tf1.getText());intb=Integer.parseInt(tf2.getText());intx=a+b;tf2.setText(Integer.toString(x));catch(NumberFormatExceptionnfe)tf3.setText("error!");ex17_3.html<HTML><HEAD><TITLE>ex17_3</TITLE></HEAD><BODY><appletcode="ex17_3.class.width=800height=400></applet></BODY></HTML>
问答题下面程序的功能是将数组array下标为奇数的元素相乘(数组的位置是从0开始的),并将乘积存放到变量 total中。请在程序的每条横线处填写—个位运算符,使程序的功能完整。 注意:请勿改动main()主方法和其他已有的语句内容,仅在横线处填入适当的语句。 源程序代码文件清单如下: public class JiShuJi public static void main(String args[]) int array[ ]=1,2,3,5,7,9; long total= for(int i=1;i<=______;i++) ______; i++; System.out.println(total);
问答题下面程序的功能是从键盘读取一行文本并将该文本存储到文件中。当用户运行该程序时,需要输入一行文本并按下回车键。然后在DOS系统提示符处输入type file.txt并按下Enter键,这时屏幕会显示type file.txt的内容。通过这个命令可以验证该程序的功能。请在每条横线处填写一条语句,使程序的功能完整。
注意:请勿改动main()主方法和其他已有的语句内容,仅在横线处填入适当的语句。
源程序文件代码清单如下:
import java.io.*;
public class DoFile
{
public static void main(String args[])
{
byte buffername[]=______[80];
try
{
System.out.println("/nEnter a line to be saved to disk:");
int bytesbleck= ______;
FileOutputStream f=new FileOutputStream("file.txt");
______;
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
问答题请完成下列Java程序:读取新浪首页文件的数据并且显示出来。要求编写JFrame扩展类,以String类的对象定义的url地址作为入口参数,该类实现根据url参数指定的地址进行连接和读取数据,并且能显示在一个文本区域内。 注童;请勿改动main()主方法和其他已有语句内容,仅在下划线处填入适当的语句。 源程序文件代码清单如下: import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.net.*; import java.io.*; public class ex15_2 public static void main(String args[]) UrlFrame page = new UrlFrame("http://www.sina.com.cn"); page.show(); class UrlFrame extends JFrame JTextArea jta = new JTextArea("正在读取文件..."); URL url; public UrlFrame(String strAddr) super (strAddr);//使用父类的构造方法。 setSize(450, 300); JScrollPane jsp = new JScrollPane(jta); getContentPane().add(jsp); WindowListener wl = new WindowAdapter() public void windowClosing(WindowEvent we) System.exit(0); ; addWindowListener(wl); try url = new URL(strAddr); ______; catch (MalformedURLException murle) System.out.println("不合适的URL:"+ strAddr); void getData(URL url) URLConnection con = null; InputStreamReader isr; BufferedReader readBuf; String strLine; StringBuffer strBuf = new StringBuffer(); try con = this.url.openConnection(); con.connect(); jta.setText("打开连接..."); isr = new InputStreamReader(con.getInputStream()); readBuf = new BufferedReader(isr); jta.setText("读取数据..."); while ((strLine = readBuf.readLine()) != null) strBuf.append(strLine + "/n"); ______; catch (IOException e) System.out.println("IO错误:" + e.getMessage());
问答题下面是一个Applet程序,其功能是实现一个计数器,每隔0.15秒计数器数值加1,数值动态变化,并且能够控制计数器的暂停和继续。要求通过使用Swing的构件建立图形用户界面。主要包括一个文本区域,用于显示计数器结果:两个按钮,一个使计数器暂停,一个使计数器继续工作。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。
注意:不改动程序的结构,不得增行或删行。
源程序文件代码清单如下。
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
/*
<applet code="ex19_3.class" width=800 height=400>
</applet>
*/
public class ex19_3 extends JApplet
{
private JTextField jtf=new JTextField(15);
private JButton Hold=new JButton("Hold");
private JButton resume=new JButton("Resume");
private ex19_3th obj19_3th=new ex19_3th();
class ex19_3th extends Thread
{
private int cnt=0;
private boolean bIsHold=false;
public ex19_3th() {start();}
public void hold()
{
bIsHold=true;
}
public synchronized void fauxResume()
{
bIsHold=false;
{{U}}wait ();{{/U}}
}
public void run()
{
while (true)
{
try {
sleep(150);
synchronized(this)
{
while(bIsHold)
{{U}}notify();{{/U}}
}
}catch(InterruptedException ie)
{
System.err.println("Interrupted");
}
{{U}}jtf.setText(cnt);{{/U}}
}
}
}
public void init()
{
Container cp=getContentPane();
cp.setLayout(new FlowLayout());
cp.add(jtf);
Hold.addActionListener(
new ActionListener()
{
public void actionPerformed(ActionEvent ae)
{
obj19_3th.hold ( );
}
});
cp.add(Hold);
resume.addActionListener
(
new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
obj19_3th.fauxResume();
}
});
cp.add(resume);
}
public static void main(String args[])
{
ex19_3 obj19_3=new ex19_3();
String str= obj19_3.getClass().toString();
if(str.indexOf("class") !=-1)
str=str.substring(6);
JFrame frm=new JFrame(str);
frm.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent we)
{
System.exit(0);
}
});
frm.getContentPane().add(obj19_3);
frm.setSize(300, 200);
obj19_3.init();
obj19_3.start{);
frm.setVisible(true);
}
}
{{B}}ex19_3.html{{/B}}
<HTML>
<HEAD>
<TITLE>ex19_3</TITLE>
</HEAD>
<BODY>
<applet code="ex19_3.class" width=800 height=400>
</applet>
</BODY>
</HTML>
问答题注意:下面出现的“考生文件夹”均为%USER%。 在考生文件夹中存有文件名为Java_2.java的文件,该程序是不完整的,请在注释行“//**********Found**********”下一行语句的下画线地方填入正确内容,然后删除下画线,请勿删除注释行或改动其他已有语句内容。存盘时文件必须存放在考生文件夹下,不得改变原有文件的文件名。 本题的要求是: 请阅读Java_2.java应用实例,完成程序并运行得结果为: 1 1 2 1 2 3 1 2 3 4 1 2 3 4 5 1 2 3 4 5 6 给定源程序: publ ic class Java_2 public static void main(String[]args) //*********Found******** int[][]aMatrix=new______[]; int i=0; int j=0; int k=0; //*********Found******** for(i=0;i<______;i++) aMatrix[i]=new int[j+1];//创建数组。 //给每个数组元素赋值并在一行中打印输出。 for(k=0;k<aMatrix[i].length;k++) aMatrix[i][k]=k+1; System.out print(aMatrix[i][k]+…""); j++; System.out.println();//换行。
问答题通过实现Runnable接口创建线程,请在下面横线处填入代码完成此程序。 注意:不改动程序结构,不得增行或删行。 class ThreadTest implements Runnable Thread thrObj; public static void main(String args[]) System.out.println("这是一个通过实现接口创建线程的例子"); ThreadTest testObj=new ThreadTest(); testObj.create(); public void create() if(thrObj= =null) thrObj=new Thread(this,"myThread"); ______ public void run() System.out.println("Thread"+throbj.getName()+":"+"在运行!");
问答题本程序是一个Applet,页面中包括两个列表和两个文本域,第一个列表列出了要计算的表达式,第二个列表列出计算表达式中的项数,点击第一个列表中的项选中要计算的表达式并显示在第一个文本域中,双击第二个列表要计算的项数,就能在第二个文本域中输出计算结果,如图所示。importjava.applet.*;importjava.awt.*;importjava.awt.event.*;publicclassexam_78extendsAppletimplementsItemListener,ActionListener{Listlist1,list2;TextAreatext1,text2;intindex=0;publicvoidinit(){list1=newList(6,false);list2=newList(6,false);text1=newTextArea(6,15);text2=newTextArea(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(inti=1;i<=100;i++){list2,add("前"+i+"项和");}add(list1);add(list2);add(text1);add(text2);list1.addItemListener(this);______;}publicvoiditemStateChanged(ItemEvente){if(e.getItemSelectable()==list1){text1.setText(list1.getSelectedItem());index=list1.getSelectedIndex();}}publicvoidactionPerformed(ActionEvente){intn=list2.getSelectedIndex(),sum=0;Stringname=list2.getSelectedItem();switch(______){case0:for(inti=1;i<=n+l;i++){sum=sum+i;}break;case1:for(inti=1;i<=n+1;i++){sum=sum+i*i;}break;case2:for(inti=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><appletcode="exam_78.class"width="400"height="500"></applet></body></html>
问答题下面是一个Applet程序,其功能是绘制三维矩形以使该矩形面凹下,并将图像放入凹下的矩形面中。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。
注意:不改动程序的结构,不得增行或删行。
源程序文件代码清单如下:
import java.awt.*;
import java.applet.*;
import java.awt.image.*;
import java.util.*;
import java.net.*;
/*
<applet code="ex01_3.class"width=800 height=400>
</applet>
*/
public class ex01_3 extends Applet
{
private Image IMG onClick=over(this) title=放大;
public void init()
{
URL url=getCodeBase();
IMG onClick=over(this) title=放大=getImage(url,"ex01_3.gif");
MediaTracker mt={{U}}new MediaTracker(){{/U}};
mt.addImage(IMG onClick=over(this) title=放大,1);
try
{
mt.waitForAll();
} catch(Exception e)
{
e.printStackTrace();
}
setBackground(Color.black);
}
public void paint(Graphics g)
{
int thick=3,x=10,y=10;
{{U}}g.drawImage(IMG onClick=over(this) title=放大,x,y){{/U}};
g.setColor(Color.lightGray);
int w = IMG onClick=over(this) title=放大.getWidth(this);
int h = IMG onClick=over(this) title=放大.getHeight(this);
for(int i=0;i<thick;i++)
{{U}}g.draw3DRect(x,y,w+(a*i),true){{/U}};
}
}
{{B}}ex01_3.html{{/B}}
<HTML>
<HEAD>
<TITLE>ex01_3</TITLE>
</HEAD>
<BODY>
<applet code="ex01_3.class"width=800 height=400>
</applet>
</BODY>
</HTML>
问答题本题分别比较两个字符串"A"和"a"是否相等,并比较两个字符"A"和"a"是否相等,并输出比较结果。
public class java1{
public static void main(String[] args) {
______;
c1='A';c2='a';
String str1=new String("A"),str2=new String("a");
if(______)
System.out.println("char"+c1+"equals"+"char"+c2);
else
System.out.println("char"+c1+"clocsn't equal"+"char"+c2);
if(______)
System.out.println("string"+str1+"equals"+"string"+str2);
else
System.out.println("string"+str1+"doesn't equal"+"string"+str2);
}
}
问答题请完成下列Java程序:记录鼠标在窗口中的信息,包括鼠标的移动事件以及鼠标在窗口中的位置坐标,要求在窗口下方显示鼠标的事件和位置信息,在窗口上方有按钮控制程序的正常退出。 注意:请勿改动main()主方法和其他已有语句内容,仅在下划线处填入适当的语句。 源程序文件代码清单如下: import java.awt.*; import java.awt.event.*; public class ex12_2 extends Frame implements MouseMotionListener, ActionListener private Label 1; private String str=" "; public static void main(String args[]) new ex12_2(); ex12_2( ) ______; setSize(200,200); Button btn=new Button("exit"); btn.addActionListener (this); add (btn, "North" ); l=new Label(str); add (l, "South" ); show (); public void mouseMoved(MouseEvent event) str="Move: "+ l. setText (str); public void mouseDragged(MouseEvent event) public void actionPerformed(ActionEvent event) if(event.getActionCommand().equals("exit")) System.exit(0);
问答题综合应用题下面是一个Applet程序,其功能是根据给出的小时,分钟和秒数计算相等的秒数,即将1分钟化为60秒,依此类推。要求建立一个时间类,时间参数均作为类的成员变量,并且给出换算时间的方法,也作为这个类的成员函数,可以供外部对象进行调用。同时还需要在输出窗口中显示换算结果,并且将结果写到out3_3.txt文件中,本题给出确定的时间为4小时23分47秒,要求换算成以秒做单位的时间。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。注意:不改动程序的结构,不得增行或删行。程序运行结果如下:importjava.io.*;importjava.awt.*;importjava.applet.*;/**/publicclassex3_3extendsApplet{publicvoidpaint(Graphicsg){intnSum;classmyTime3_3{publicinth;publicintm;publicints;publicintout;publicintcaculateSecond(){out=h*60+m*60+s;returnout;}}myTime3_3objTime3_3=newmyTime3_3();objTime3_3.h=4;objTime3_3.m=23;objTime3_3.s=47;nSum=objTime3_3.caculateSecond();g.drawString("时:"+objTime3_3.h,20,30);g.drawString("分:"+objTime3_3.m,20,50);g.drawString("秒:"+objTime3_3.s,20,70);g.drawString("合计:"+objTime3_3.out+"秒",20,90);try{FileOutputStreamfos3_3=newFileOutputStream("out3_3.txt");BufferedOutputStreambos3_3=newBufferedOutputStream(fos3_3,1024);PrintStreamps3_3=newPrintStream(bos3_3,false);System.setOut(ps3_3);System.out.println("合计:"+objTime3_3.out+"秒");ps3_3.close();}catch(IOExceptionioe){System.out.println(ioe);}}}ex3_3.htmlex3_3
问答题本题程序的功能是求两个交叉图形的并、减、交及异或。窗口中有4个单选按钮和一个图形面板,面板中有两个交叉的图形,选中其中一个单选按钮,图形面板中会以黑色填充的方式显示运算的结果。请将下述程序补充完整(注意:不得改动程序的结构,不得增行或删行)。
import java.awt.*;
import java.awt.event.*;
import java.awt.geom.*;
import java.util.*;
import javax.swing.*;
public class advance
{
public static void main(String[] args)
{
JFrame frame = new AreaTestFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.show();
}
}
class AreaTestFrame extends JFrame
{
public AreaTestFrame()
{
setTitle("advance");
setSize(WIDTH,HEIGHT);
area1 = new Area(new Ellipse2D.Double(100,100,150,100));
area2 = new Area(new Rectangle2D.Double(150,150,150,100));
______;
panel = new JPanel()
{
public void paintComponent(Graphics g)
{
super.paintComponent(g);
Graphics2D g2 = (Graphics2D)g;
g2.draw(area1);
g2.draw(area2);
if (area ! = null)
g2.fill(area);
}
}
contentPane.add(panel,BorderLayout.CENTER);
JPanel buttonPanel = new JPanel();
ButtonGroup group = new ButtonGroup();
JRadioButton addButtoh = new JRadioButton("并",false);
buttonPanel.add(addButton);
group.add(addButton);
addButton.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent event)
{
area = new Area();
area.add(area1);
area.add(area2);
panel.repaint();
}
});
JRadioButton subtractButton = new JRadioButton("减",false);
buttonPanel.add(subtractButton);
group.add(subtractButton);
subtractButton.addActionListener(new ActienListener(){
public void actionPerformed(ActionEvent event)
{
area = new Area();
area.add(areal);
______;
panel.repaint();
}
});
JRadioButton intersectButton = new JRadioButton("交",false);
buttonPanel.add(intersectButton);
group.add(intersectButton);
intersectButton.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent event)
{
area = new Area();
area.add(area1);
area.intersect(area2);
panel.repaint();
}
});
JRadioButten exclusiveOrButton = new JRadioButton("异或",false);
buttonPanel.add(exclusiveOrButton);
group.add(exclusiveOrButton);
exclusiveOrButton.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent event)
{
area = new Area();
area.add(area1);
______;
panel,repaint ();
}
});
contentPane.add(buttonPanel,BorderLayout.NORTH);
}
private JPanel pane1;
private Area area;
private Area area1;
private Area area2;
private static final int WIDTH = 400;
private static final int HEIGHT = 400;
问答题请完成下列Java程序。程序的执行结果是生成一个具有一个TextField类型的对象in、But ton类型的对象btn和Label类型的对象out图形用户界面,程序的功能是计算用户输入数的平方。 注意:请勿改动main()主方法和其他已有的语句内容,仅在下画线处填人适当的语句。 import java.awt.*; import java.awt.event.*; public class PingFangShu public static void main(String args[]) __________ class AppFrame extends Frame TheAdapterTest listener=new TheAdapterTest(); TextField in=new TextField(5); Button btn=new Button("计算"); Label out=new Label("显示计算结果"); public AppFrame() setLayout(new FlowLayout()); add(in); add(btn); add(out); btn.addActionListener(new BtnActionAdapter()); addWindowListener(listener); setSize(400,100); show(); class BtnActionAdapter implements ActionListener public void actionPerformed(ActionEvent e) String s=in.getText(); double d=__________ double sq=d*d; out.setText(d+"的平方是:"+sq); class TheAdapterTest extends WindowAdapter public void windowClosing(WindowEvent e) System.exit(1);