问答题下面是一个Applet程序,其功能是构造n阶魔方阵,魔方阵是这样一个方阵,它的每一行,每一列和对角线之和均相等,例如三阶魔方阵为:816357492要求用Applet实现上述魔方阵,窗口中包括提示栏,提示输入0~15之间的奇数:输入框,输入方阵的阶数:按钮,点击则输出魔方阵;画布用于输出结果。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。注意:不改动程序的结构,不得增行或删行。程序运行结果如下: importjava.awt.*;importjava.awt.event.*;importjava.applet.Applet;importjava.lang.Math.*;/*<appletcode="ex19_3.class"width=800height=400></applet>*/publicclassex19_3extendsAppletimplementsActionListener{Panelpane=newPanel();drawWnddw;Label11=newLabel("输入(0~15的奇数):");TextFieldtf1=newTextField(5);Buttonbtn=newButton("OK");int[][]a=newint[16][16];intn=15;publicvoidinit(){pane.setLayout(newFlowLayout(FlowLayout.CENTER,25,5));pane.add(11);pane.add(tf1);pane.add(btn);{{U}}pane.addActionListener(this);{{/U}}add("North",pane);dw=newdrawWnd();add("South",dw);}classdrawWndextendsCanvas{drawWnd(){setSize(300,300);setBackground(Color.GRAY);}publicvoidpaint(Graphicsg){g.setColor(Color.GREEN);for(inti=1;i<=n;i++)for(intj=1;j<=n;j++)g.drawString(Integer.toString(a[i][j]),i*20,j*20);}}publicvoidactionPerformed(ActionEventae){try{n=Integer.parseInt(tf1.getText());inti=1,j=1;for(i=1;i<=n;i++)for(j=1;j<=n;j++)a[i][j]=0;j=n/2+1;{{U}}a[i][j]=1;{{/U}}for{{U}}(intk=1;k<=n*n;k++){{/U}}{i--;j++;if((i<1)j--;}else{if(i<1)i=n;if(j>n)j=1;}if(a[i][j]==0)a[i][j]=k;else{i=i+2;j--;a[i][j]=k;}}dw.repaint();}catch(NumberFormatExceptionnfe){tf1.setText("error!");}}}{{B}}ex19_3.html{{/B}}<HTML><HEAD><TITLE>ex19_3</TITLE></HEAD><BODY><appletcode="ex19_3.class"width=800height=400</applet></BODY></HTML>
问答题本程序的功能是用鼠标在面板上画椭圆形。窗口中有一个黄色的面板,鼠标置于黄色面板时拖动,可绘制出椭圆形,如图所示。importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;publicclassexam_86extendsJFrame{privateSelfContainedPanelmyPanel;publicexam_86(){setTitle("exam_86");myPanel=newJPanel();myPanel.setBackground(Color.yellow);Containerc=getContentPane();c.setLayout(newFlowLayout());c.add(myPanel);setSize(300,200);show();}publicstaticvoidmain(Stringargs[]){exam_86app=newexam_86();app.addWindowListener(newWindowAdapter(){publicvoidwindowClosing(WindowEvente){System.exit(0);}});}}classSelfContainedPanelextendsJPanel{privateintx1,y1,x2,y2;publicvoidSelfContainedPanel(){addMouseListener(newMouseAdapter(){publicvoidmousePressed(MouseEvente){x1=e.getX();y1=e.getY();}publicvoidmouseReleased(MouseEvente){x2=e.getX();y2=e.getY();repaint();}});addMouseMotionListener(newMouseMotionAdapter(){publicvoidmouseDragged(MouseEvente){x2=e.getX();y2=e.getY();repaint();}});}publicDimensiongetPreferredSize(){returnnewDimension(150,100);}publicvoidpaintComponent(Graphicsg){super.paintComponent();g.drawOval(Math.min(x1,x2),Math.min(y1,y2),Math.abs(x1-x2),Math.abs(y1-y2));}}
问答题本程序中,窗口中有两个按钮:BUTTON1和BUTTON2,没有定义窗口的大小,窗口使用FlowLayout布局管理器,并采用了紧凑风格,如图所示。importjava.awt.*;importjava.awt.event.*;publicclassexam_8extendsFrame{publicstaticvoidmain(Stringargs[]){exam_8f=newexam_8("exam_8");f.init();}publicexam_8(Stringstr){super(str);}publicvoidinit(){addWindowListener(newWindowAdapter(){publicvoidwindowClosing(WindowEvente){System.exit(0);}});setLayout(______);Buttonb1=newButton("BUTTON1");Buttonb2=newButton("BUTTON2");add(b1);add(b2);setVisible(true);}}
问答题本程序的功能是用流式布局管理器来管理窗口上的按钮。在执行程序时指定生成按钮的个数,并把这些按钮放置在流式布局管理器管理的窗口中,如图所示。importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;publicclassexam_33{publicstaticvoidmain(String[]args){if(args.length!=1){System.out.println("请指定按钮的个数!");System.exit(0);}StringbuttonString=args[0];intbuttonNumber=______;ButtonFrameframe=newButtonFrame(buttonNumber);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.show();}}classButtonFrameextendsJFrame{publicButtonFrame(______){buttons=buttonNumber;setTitle("exam_33");setSize(WIDTH,HEIGHT);JPanelbuttonPanel=newJPanel();for(inti=0;i<buttons;i++){JButtonaddButton=newJButton("add"+i);buttonPanel.add(addButton);}ContainercontentPane=getContentPane();contentPane.add(buttonPanel);}publicstaticfinalintWIDTH=350;publicstaticfinalintHEIGHT=200;privateintbuttons;}
问答题本程序是一个Applet,页面中有一个面板和两个按钮:“全部清除”和“部分清除”,面板上有上下两个字符串,单击“部分清除”按钮时,画板上方的字符串消失,单击“全部清除”按钮时,则画板上的所有字符串都消失,如图所示。importjava.awt.*;importjava.awt.event.*;classMyCanvasextendsCanvas{intn=-1;MyCanvas(){setSize(150,120);setBackground(Color.pink);}publicvoidpaint(Graphicsg){g.setColor(Color.red);g.drawString("欢迎学习Java编程语言",10,12);g.drawString("Java语言同C++有很多的不同点",10,40);}publicvoidsetN(intn){this.n=n;}publicvoidupdate(Graphicsg){intwidth=0,height=0;width=getSize().width;height=getSize().height;if(n==0){;}elseif(n==1){g.clearRect(2,2,width,40);}}}publicclassexam_81extendsjava.applet.AppletimplementsActionListener{Buttonb1,b2;MyCanvascanvas;publicvoidinit(){canvas=newMyCanvas();b1=newButton("全部消除");b1.addAetionListener(this);b2=newButton("部分消除");b2.addActionListener(this);add(b1);add(b2);add(canvas);}publicvoidactionPerformed(ActionEvente){if(e.getSource()==b1){______;}if(e.getSource()==b2){canvas.setN(1);canvas.repaint();}}}exam_81.html:<html><head><title>exam_81</title></head><body><appletcode="exam_81.class"width="400"height="500"></applet></body></html>
问答题本题程序中实现了一个“生产者一消费者问题”。生产者产生一个随机数存入DataPool类中,消费者从中取出数据。DataPool类一次只能存放一个数据。请更正题中带下划线的部分。
注意:不改变程序的结构,不得增行或删行。
class DataPool
{
private int data;
private boolean isFull;
public DataPool()
{
isFull=false;
}
public synchronized void putData(int d)
{
if(isFull= =true)
{
try
{
{{U}}this.notify{{/U}}();
}
catch(InterruptedException e)
{}
}
data=d;
isFull=true;
System.out.println("生产了一个数据:"+data);
this.notify();
}
public synchronized int getData()
{
if(isFull= =false)
{
try
{
this.wait();
}
catch(InterruptedException e)
{}
}
isFull=false;
System.out.println("消费了一个数据"+data);
{{U}}this.wait(){{/U}};
return this.data;
}
boolean getIsFull()
{
return isFull;
}
}
class Producer extends Thread
{
DataPool pool;
public Producer(DataPool pool)
{
this.pool=pool;
}
public void run()
{
for(int i=0; i<10; i++)
{
int data=(int) (Math.random()*1000);
try
{//用于生产数据
sleep(data);
}
catch(InterruptedException e)
{}
pool.putData(data);
}
}
}
class Consumer implements Runnable
{
DataPool pool;
public Consumer(DataPool pool)
{
this.pool=pool;
}
public void run()
{
for(int i=0; i<10; i++)
{
int data=pool.getData();
try
{//用于处理数据
{{U}}sleep((int) (Math.random()*1000)){{/U}};
}
catch(InterruptedException e)
{}
}
}
}
public class advance
}
public static void main(String[] args)
{
Data Pool pool=new Data Pool();
Producer pro=new Producer(pool);
Runnable con=new Consumer(pool);
Thread conTh=new Thread(con);
pro.start();
conTh.start();
}
}
问答题下面是一个Applet程序,实现实心或者空心矩形的绘制。要求鼠标在Applet窗口中拖动实现矩形的绘制,可以选择填充或者空心,按钮用来清空窗口中的图像。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。 注意:不改动程序的结构,不得增行或删行。 源程序代码文件清单如下: import java.awt.*; import java.applet.*; /* <applet code="ex16_3.class" width=800 height=400> </applet> */ public class ex16_3 extends Applet private Button btnClear; private CheckboxGroup cbg; private Checkbox chk1, chk2; private int upX, upY; private int downX, downY; private boolean bDraw, bClear, bStyle; public void init() bDraw = false; bClear = false; bStyle = false; setLayout(null); cbg = new CheckboxGroup(); chk1 = new Checkbox("Hollow", cbg, true); chk2 = new Checkbox("Filled", cbg, false); chk1.reshape(80,getSize().height-80,80,25); chk2.reshape(160,getSize().height-80,80,25); add(chk1); add(chk2); btnClear = new Button("ctear"); btnClear.reshape(240,getSize().height-80,80,25); add(btnClear); public void paint(Graphics g) if (bDraw) if(upX>downX else g.drawRect(downX, downY, upX-downX, upY-downY); else if(upX>downX else g.drawRect(downX, upY, upX - downX, downY - upY); else if(upX<downX else g.drawRect(upX, downY, downX-upX, upY-downY); else if(upX<downX else g.drawRect(upX, upY, downX-upX, downY-upY); bDraw = false; if (bClear) g.clearRect(0,0, getSize().height, getSize().width); bClear = false; public void update(Graphics g) paint(g); public boolean mouseUp(Event e, int x, int y) upX=x; upY=y; bDraw=true; repaint(); return true; public boolean mouseDown(Event e, int x, int y) downX=x; downY=y; return true; public boolean action(Event e, Object o) if(e.target==btnClear) bClear=true; repaint(); if(chk1.getState()==true) bStyle=true; if(chk2.getState()==true) bStyle=false; return true; ex9_3.html <HTML> <HEAD> <TITLE>ex9_3</TITLE> </HEAD> <BODY> <applet code="ex9_3.class" width=800 height=400> </applet> </BODY> </HTML>
问答题本程序是一个Applet,它用一个表格的形式显示了一个用户群的信息,包括姓名、电话和年龄,如图所示。importjava.awt.*;importjavax.swing.*;publicclassexam_49extendsJApplet{publicvoidinit(){Containercp=getContentPane();cp.setLayout(newBorderLayout());finalString[]colHeads={"姓名","电话","年龄"};final______data={{"陈艳","87934656","22"},{"王永","67843522","32"},{"刘锋","67232432","56"},{"刘六","87934810","22"},{"王玉波","76908435","32"},{"杜永刚","87957547","43"},{"张志斌","87964673","25"},{"陈元","56734656","28"},};JTablejt=______;intv=ScrollPaneConstants.VERTICALSCROLLBARASNEEDED;inth=ScrollPaneConstants.HORIZONTALSCROLLBARASNEEDED;JScrollPanejsp=newJScrollPane(jt,v,h);cp.add(jsp,BorderLayout.CENTER);}}exam_49.htmh:<html><head><title>exam_49</title></head><body><appletcode="exam_49",width=450,height=120></applet></body></html>
问答题本程序是一个Applet,页面中有一个文本框、一个文本域和一个按钮,在文本框中输入一个整数后,如果回车,则计算该数的因子并显示在文本域中,如果单击“Enter”按钮则求出小于该数的素数并显示在文本域中,如图所示。importjava.awt.*;importjava.awt.event.*;importjava.applet.*;classMyLabel______implementsActionListener{Stringlabname;TextFieldinputNumber;TextAreashowResult;Buttonbutton;MyLabel(Strings,Containercon){super(s);labname=s;inputNumber=newTextField(10);showResult=newTextArea(10,10);button=newButton("Enter");button.addActionListener(this);inputNumber.addActionListener(this);con.add(this);con.add(inputNumber);con.add(showResult);con.add(button);}publicvoidactionPerformed(ActionEvente){longn=0;showResult.setText(null);try{n=Long.valueOf(______).longValue();this.setText(labname;}catch(NumberFormatExceptione1){this.setText("请输入数学字符");}if(e.getSource()==inputNumber){yinzi(n);}if(e.getSource()==button){sushu(n);}}publicvoidyinzi(longn){for(inti=1;i<=n;i++){if(n%i==0)showResult,append("/n"+i);}}publicvoidsushu(longn){showResult.append("小于"+n+"的素数有:");for(inti=1;i<=n;i++){intj=0;for(j=2;j<i;j++){if(i%j==0)break;}if(j>=i){showResult,append("/n"+i);}}}}publicclassexam_72extendsApplet{MyLabellab;publicvoidinit(){lab=newMyLabel("回车求该数的因子,点击按钮求出小于这个数的素数",this);}}exam_72.html:<html><head><title>exam_72</title></head><body><appletcode="exam_72.class"width="400"height="500"></applet></body></html>
问答题本程序的功能是监听对于菜单项以及弹出菜单的操作。主窗口中有“File”和“Edit”两个菜单,“File”菜单中包括“New”、“Open”、“Save”、“SaveAs”和“Exit”菜单项,并且在“Open”和“Save”以及“SaveAs”和“Exit”间有分割线。“Edit”菜单项包括“Cut”、“Copy”、“Paste”和“Options”菜单项,前三个菜单项有对应的图片,“Options”菜单项有“Read-only”、“Insert”和“Overtype”三个子菜单项,“Read-only”为复选框,“Insert”和“Overtype”为单选框,如果选中“Read-only”复选框,则“Save”和“SaveAs”菜单项变为不可用。单击任意一个菜单项,后台将显示哪个菜单项被选中。单击“Exit”菜单项则退出程序。如果在窗口上单击鼠标右键,则弹出“Cut”、“Copy”和“Paste”菜单项,任意单击其中一个菜单项,后台将输出对应的选择,如图所示。importjava.awt.*;importjava.awt.event.*;importjavax,swing.*;importjavax.swing.event.*;publicclassexam_22{publicstaticvoidmain(String[]args){MenuFrameframe=newMenuFrame();frame.setDefaultCloseOperation(JFrame.EXITONCLOSE);frame.show();}}classMenuFrameextendsJFrame{publicMenuFrame(){setTitle("exam_22");setsize(DEFAULT_WIDTH,____DEFAULT_HEIGHT);JMenufileMenu=newJMenu("File");JMenuItemnewItem=fileMenu.add(newTestAction("New"));JMenuItemopenItem=fileMenu.add(newTestAction("Open"));fileMenu.addSeparator();saveAction=newTestAction("Save");JMenuItemsaveItem=fileMenu.add(saveAction);saveAsAction=newTestAction("SaveAs");JMenuItemsaveAsItem=fileMenu.add(saveAsAction);fileMenu.addSeparator();fileMenu.add(newAbstractAction("Exit"){publicvoidactionPerformed(ActionEventevent){System.exit(0);}});readonlyItem=newJCheckBoxMenuItem("Read-only");readonlyItem.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEventevent){booleansaveOk=!readonlyItem.Selected();saveAction.setEnabled(saveOk);saveAsAction.setEnabled(saveOk);}});ButtonGroupgroup=newButtonGroup();JRadioButtonMenuIteminsertItem=newJRadioButtonMenuItem("Insert");insertItem.setSelected(true);JRadioButtonMenuItemovertypeItem=newJRadioButtonMenuItem("Overtype");group.add(insertItem);group.add(overtypeItem);ActioncutAction=newTestAction("Cut");cutAction.putValue(Action.SMALL_ICON,newImageIcon("exam_22-cut.gif"));ActioncopyAction=newTestAction("Copy");copyAction.putValue(Action.SMALL_ICON,newImageIcon("exam_22-copy.gif"));ActionpasteAction=newTestAction("Paste");pasteAction.putValue(Action.SMALL_ICON,newImageIcon("exam_22-paste.gif"));JMenueditMenu=newJMenu("Edit");editMenu.add(cutAction);editMenu.add(copyAction);editMenu.add(pasteAction);JMenuoptionMenu=newJMenu("Options");optionMenu.add(readonlyItem);optionMenu.addSeparator();optionMenu.add(insertItem);optionMenu.add(overtypeItem);editMenu.addSeparator();editMenu.add(optionMenu);JMenuBarmenuBar=newJMenuBar();setJMenuBar(menuBar);menuBar.add(fileMenu);menuBar.add(editMenu);popup=newJPopupMenu();popup.add(cutAction);popup.add(copyAction);popup.add(pasteAction);getContentPane().addMouseListener(newMouseAdapter(){publicvoidmousePressed(MouseEventevent){if(event.isPopupTrigger())popup.show(event.getComponent(),event.getX(),event.getY());}publicvoidmouseReleased(MouseEventevent){if(event.isPopupTrigger())popup.show(event.getComponent(),event.getX(),event.getY());}});}publicstaticfinalintDEFAULT_WIDTH=300;publicstaticfinalintDEFAULT_HEIGHT=200;privateActionsaveAction;privateActionsaveAsAction;privateJCheckBoxMenuItemreadonlyItem;privateJPopupMenupopup;}classTestActionextendsMouseAction{publicTestAction(Stringname){super(name);}publicvoidactionPerformed(ActionEventevent){System.out.println(getValue(Action.NAME)+"selected.");}}
问答题注意:下面出现的“考生文件夹”均为%USER%。在考生文件夹下存有文件名为Java_1.java文件,请完善Java_1.java文件,并进行调试,使程序输出结果如下:由于Java_1.java文件不完整,请在注释行“//*********Found*********”下一行语句的下画线地方填入正确内容,然后删除下画线,请勿删除注释行或其他已有语句内容。存盘时,文件必须存放在考生文件夹下,不得改变原有文件的文件名。给定源程序://Interest.java//计算复杂利息importjava.text.DecimalFormat;importjavax.swing.JOptionPane;importjavax.swing.JTextArea;publicclassJava_1publicstaticvoidmain(Stringargs[])doubleamount,principal=10000,rate=.05;DecimalFormatprecisionTwo=newDecimalFormat("0.00");//*********Found**********JTextAreaoutputTextArea=new______(11,20);outputTextArea.append("年/t存款总计/n");for(intyear=1;year<=10;year++)amount=principal*Math.pow(1.0+rate,year);outputTextArea.append(year+"/t"+//*********Found**********precisionTwo.______(amount)+"/n");//*********Found**********JOptionPane.______(null,outputTextArea,"复合利息",JOptionPane.INFORMATION_MESSAGE);System.exit(0);
问答题综合应用题下面是一个Applet程序,其功能是在图形用户界面中实现打印任意行数的杨辉三角形,编写一个含有整型形式参数的方法,此方法打印杨辉三角形,打印的行数由形式参数指定。编写Applet程序接受用户输入的整数,作为实际参数传递并调用上面的方法,要求图形用户界面上包含一个文本区作为输入参数的入口,一个带有纵向滚动条的文本面板作为输出打印结果的区域,一个按钮,点击则完成打印。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。注意:不改动程序的结构,不得增行或删行。程序运行结果如下:importjavax.swing.*;importjava.awt.*;importjava.awt.event.*;/**/publicclassex11_3extendsJApplet{privateJButtonjb=newJButton("OK");privateJTextPanejtp=newJTextPane();privateJTextFieldjtf=newJTextField(8);privateintn=15;publicvoidinit(){jb.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){n=jtf.getText();jtp.setText("");for(inti=n-1;i>=0;i--){Strings="";for(intj=0;jex11_3
问答题本程序的功能是监听鼠标将文件对象拖到程序窗口中。窗口中只有一个文本域,选中一个文件,拖到窗口中后,文本域中将显示该次拖动操作的类型,以及拖动的文件路径及名称(鼠标直接拖动为移动操作,按住Ctrl键拖动属于复制操作,按住Ctrl+Shift键拖动属于建立快捷键操作),如图所示。importjava.awt.*;importjava.awt.datatransfer.*;importjava.awt.event.*;importjava.awt.dnd.*;importjava.io.*;importjava.util.*;importjavax.swing.*;publicclassexam_29{publicstaticvoidmain(String[]args){JFrameframe=newDropTargetFrame();frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.show();}}classDropTargetFrameextendsJFrame{publicDropTarget(){setTitle("exam_29");setSize(WIDTH,HEIGHT);ContainercontentPane=getContentPane();JTextAreatextArea=newJTextArea("请拖动文件到该文本域./n");newDropTarget(textArea,newTextDropTargetListener(textArea));contentPane.add(newJScrollPane(textArea),"Center");}privatestaticfinalintWIDTH=300;privatestaticfinalintHEIGHT=300;}classTextDropTargetListenerextendsDropTargetListener{publicTextDropTargetListener(JTextAreaaTextArea){textArea=aTextArea;}publicvoiddragIn(DropTargetDragEventevent){inta=event.getDropAction();if((aif((aif((aif(!isDragAcceptable(event)){event.rejectDrag();return;}}publicvoiddragExit(DropTargetEventevent){}publicvoiddragOver(DropTargetDragEventevent){}publicvoiddropActionChanged(DropTargetDragEventevent){if(!isDragAcceptable(event)){event.rejectDrag();return;}}publicvoiddrop(DropTargetDropEventevent){if(!isDropAcceptable(event)){event.rejectDrop();return;}event.acceptDrop(DnDConstants.ACTION_COPY);Transferabletransferable=event.getTransferable();DataFlavor[]flavors=transferable.getTransferDataFlavors();for(inti=0;i<flavors.length;i++){DataFlavord=flavors[i];textArea.append("MIMEtype="+d.getMimeType()+"/n");try{if(d.equals(DataFlavor.javaFileListFlavor){java.util.ListfileList=(java.util.List)transferable.getTransferData(d);Iteratoriterator=fileList.iterator();while(iterator.hasNext()){Filef=(File)iterator.next();textArea.append(f+"/n");}}elseif(d.equals(DataFlavor.stringFlavor){Strings=(String)transferable.getTransferData(d);textArea.append(s+"/n");}}catch(Exceptione){textArea.append(e+"/n");}}textArea.append("/n");event.dropComplete(true);}publicbooleanisDragAcceptable(DropTargetDragEventevent){return(event.getDropAction()}publicbooleanisDropAcceptable(DropTargetDropEventevent){return(event.getDropAction()}privateJTextAreatextArea;}
问答题请在每条横线处填写一个语句,使程序的功能为:判断输入的年份是否为闰年(例如:1998年不是闰年,2000年是闰年). 注意:请勿改动main()主方法和其他已有的语句内容,仅在横线处填入适当的语句。 import java.io.*; public class LeapYear public static void main(String args[]) ___________________; BufferedReader in; ir=new InputStreamReader(_____________________________); in=new BufferedReader(ir); System. out. print In("输入年份是: "); String s=in.readline(); int year=___________________ if(year%4==0 else System.out.println(" " +year+ " "年不是闰年.");
问答题下面是一个Applet程序,其功能是捕捉用户所按下的键,并将捕捉到的键时间,传给程序,程序再将所按下的字符显示在Applet中。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。注意:不改动程序的结构,不得增行或删行。程序运行结果如下:importjava.awt.*;importjava.applet.*;/*<appletcode="ex15_3.class,,width=800height=400></applet>*/publicclassex15_3extendsJApplet{privateStringstr1;privateStringstr2;privateStringstr3;publicvoidinit(){str1="Character:";str2="Number:";str3="KeyState:";}publicvoidpaint(Graphicsg){g.drawString(str1,20,30);g.drawString(str2,20,50);g.drawString(str3,20,70);}publicbooleankeyUp(Evente,intn){{{U}}str1="Character:"+String.valueOf(n);{{/U}}str2="Number:"+n;str3="KeyState:KeyUp";repaint();returntrue;}publicbooleankeyDown(Evente,intn){str1={{U}}"Character:"+String.valueOf(n){{/U}};str2="Number:"+n;str3="KeyState:KeyDown";repaint();returntrue;}}{{B}}ex15_3.html{{/B}}<HTML><HEAD><TITLE>ex15_3</TITLE></HEAD><BODY><appletcode="ex153.class"width=800height=400></applet></BODY></HTML>
问答题本题程序的功能是随机产生一个1~10的随机数,根据提示,用户可以猜这个随机数。例如程序随机产生的随机数是7,如果输入8,则提示“Try smaller…”并继续提示输入;如果输出6,则提示“Try bigger…”并继续提示输入;如果输入7,则会输出“Great!”并退出程序。请将下述程序补充完整(注意:不得改动程序的结构,不得增行或删行)。 import java.io.*; public class basic public static void main(String[] args) InputStreamReader it; Bur feredReader in; Ir = new InputStreamReader(System.in) In = new BufferedReader(ir); int ranNum = ______; int guessNum = -1; String str; while (______) System.out.print ("Please Input:"); try ______; guessNum = Integer.parseInt(str); catch (Exception e) if(guessNum > ranNum) System.out.println("Try smaller..."); else System.out.println("Try bigger..."); System.out.println ("Great ! ");
问答题下列程序中,给出两个整数4和6,分别求4除以6和4乘以6的结果,要求调用类exl的方法method()来输出相应的结果,请将程序补充完整。程序运行结果如下: 0.6666666666666666 24 注意:不改动程序结构,不得增行或删行。 public class ex1 public static void main(String[] args) int n1=2,n2=3; ex1 obj1=new ex1(); obj1.______; public void method(int x, int y) System.out.println(______); System.out.println(______);
问答题本程序中,主窗口有一个按钮、一个文本域和一个复选框,初始时窗口的大小为100×200,选中复选框后,窗口的大小和屏幕的大小相同,取消选中后,屏幕又恢复原来的大小,单击按钮可以退出程序,如图所示。importjava.awt.*;importjava.awt.event.*;classMyFrameextendsFrameimplementsItemListener,ActionListener{Checkboxbox;Buttonbutton;Toolkittool;Dimensiondim;MyFrame(Strings){super(s);box=newCheckbox("设置窗口和屏幕同样大小");add(box,BorderLayout.SOUTH);button=newButton("关闭窗口");button.addActionListener(this);box.addItemListener(this);setBounds(100,100,200,300);setVisible(true);add(box,BorderLayout.SOUTH);add(button,BorderLayout.NORTH);tool=getToolkit();validate();}publicvoiditemStateChanged(ItemEvente){if(______){dim=______;setBounds(0,0,dim.width,dim.height);validate();}else{setBounds(100,100,200,300);validate();}}publicvoidactionPerformedActionEvente){dispose();}}classexam_83{publicstaticvoidmain(Stringargs[]){newMyFrame("exam_83");}}
问答题下面是一个Applet程序,其功能是实现网页上的电子时钟,要求显示的格式为hh:mm:ss如02:04:50。提示:通过获取当前系统时间来实现。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。注意:不改动程序的结构,不得增行或删行。程序运行结果如下:importjava.applet.*;importjava.awt.*;importjava.util.Date;/*<appletcode=”ex9_3.Class”,width;800height=400></applet>*/publicclassex9_3extendsAppletimplementsRunnable{privateThreadthTimer:null;privateStringstrTime;privateinttHour,tMin,tSec;publicvoidinit(){setFont(newFont("TimesNewRoman",Font.BOLD,20));}publicvoidpaint(GraphicsGraph){DatedNow=newDate();tHour=dNow.getHours();tMin=dNow.getMinutes();tSec=dNow.getSeconds();if(tHour<=9)strTime="0"+tHour+":";elsestrTime=tHour+":";if(tMin<=9){{U}}strTime="0"+strTime+tMin+":"{{/U}};elsestrTime=strTime+tMin+":";if(tSec<=9){{U}}strTime="0"+strTime+tSec{{/U}};elsestrTime=strTime+tSec;Graph.drawString(strTime,80,80);}publicvoidstart(){if(thTimer==null){thTimer={{U}}newThread(){{/U}};thTimer.start();}}publicvoidrun(){while(thTimer!=null){repaint();try{Thread.sleep(1000);}catch(InterruptedExceptionie){}}}publicvoidstop(){thTimer=null;}}{{B}}ex9_3.html{{/B}}<HTML><HEAD><TITLE>ex9_3</TITLE></HEAD><BODY><appletcode="ex9_3.class"width=800height=400></applet></BODY></HTML>
问答题本程序的功能是监听鼠标对按钮的拖动操作。窗口中有一个按钮,鼠标可以按住按钮在窗口中进行拖动,如图所示。importjava.awt.*;importjava.awt.event.*;importjava.applet.*;importjavax.swing.SwingUtilities;publicclassexam_18extendsFrameimplementsMouseListener,MouseMotionListener{Buttonbutton;intx,y;booleanmove=false;exam_18(){setTitle("exam_18");button=newButton("按钮");addMouseListener(this);button.addMouseMotionListener(this);addMouseMotionListener(this);setLayout(newFlowLayout());add(button);addWindowListener(newWindowAdapter(){publicvoidwindowClosing(WindowEvente){System.exit(0);}});setBounds(10,10,300,280);setVisible(true);validate();}publicvoidmousePressed(MouseEvente){}publicvoidmouseReleased(MouseEvente){move=false;}publicvoidmouseEntered(MouseEvente){}publicvoidmouseExited(MouseEvente){}publicvoidmouseClicked(MouseEvente){}publicvoidmouseMoved(MouseEvente){}publicvoidmouseDragged(MouseEvente){Buttonb=null;if(e.getSource()__==_Button){b=e.getSource();move=true;e=SwingUtilities.convertMouseEvent(button,e,this);}if(e.getSource()==this){if(movey=e.getY();intw=b.getSize().width,h=b.getSize().height;b.setLocation(x-w/2,y-h/2);}}}publicstaticvoidmain(Stringargs[]){newexam_18();}}
