问答题本题定义了一个方法add(),用于求两个整形数的和。方法中有两个整形参数a和b,方法体中计算a和b的和sum,并将结果返回。程序中调用add()方法求整数24和34的和,并将结果打印输出。 public class java1 public static void main(String[]args) int a=24,b=34; System.out.println(add(a,b)); public static int add(______) ______; sum=a+b; ______;
问答题本题是一个Applet,页面上有一个按钮“请单击”,单击该按钮后弹出一个对话框,对话框上有三个按钮“橙色”、“蓝色”和“红色”,单击其中任意一个按钮,则可以将对话框的背景色设置为按钮名称所对应的颜色。 import java.awt.*; import java.awt.event.*; import javax.swing.*; public class java2 extends JApplet private JFrame frame; ______() frame=new JFrame(); frame.setTitle("java2"); frame.setSize(300,200); frame.getContentPane().add(new ButtonPanel()); JButton PopButton=new JButton("请单击"); getContentPane().add(PopButton); PopButton.addActionListener(new ActionListener() public void actionPerformed(ActionEvent evt) if(frame.isVisible())frame.setVisible(false); else______; ); class ButtonPanel extends JPanel private class ColorAction implements ActionListener private Color backgroundColor; public void actionPerformed(ActionEvent actionevent) setBackground(backgrOundColor); repaint(); public ColorAction(Color color) backgroundColor=color; public ButtonPanel() JButton jbutton=new JButton("橙色"); JButton jbutton1=new JButton("蓝色"); JButton jbutton2=new JButton("红色"); add(jbutton); add(jbutton1); add(jbutton2); ColorAction coloraction=new ColorAction(Color.orange); ColorAction coloraction1=new ColorAction(Color.blue); ColorAction coloraction2=new ColorAction(Color.red); jbutton.addActionListener(coloraction); jbutton1.addActionListener(coloraction1); jbutton2.addActionListener(coloraction2);
问答题本程序的功能是:单击窗口左上角的File菜单中的Open菜单,打开一个Gif图像文件,并将图像文件显示在窗口中。单击File菜单中的Exit命令,能够退出程序,如图所示。importjavax.swing.*;importjava.awt.*;importjava.awt.event.*;importjava.awt.image.*;importjava.io.*;publicclassexam_1extendsJFrameimplementsActionListener{publicexam_1(){setTitle("ImageViewer");setSize(300,400);JMenuBarmbar=newJMenuBar();JMenum=newJMenu("File");openItem=newJMenuItem("Open");openItem.addActionListener(this);m.add(openItem);exitItem=newJMenuItem("Exit");exitItem.addActionListener(this);m.add(exitItem);mbar.add(m);setJMenuBar(mbar);label=newJLabel();ContainercontentPane=getContentPane();contentPane.add(label,"Center");}publicvoidactionPerformed(ActionEventevt){Objectsource=evt.getSource();if(source==openItem){JFileChooserchooser=newJFileChooser();chooser.setCurrentDirectory(newFile("."));chooser.setFileFilter(newjavax.swing.filechooser.FileFilter(){publicbooleanaccept(Filef){returnf.getName().toLowerCase().endsWith(".gif")||f.isDirectory();}publicStringgetDescription(){return"GIFImages";}});intr=chooser.showOpenDialog(this);if(r==JFileChooser.APPROVE_OPTION){Stringname=chooser.getSelectedFile().getName();label.setIcon(______);}}elseif(source==exitItem)System.exit(0);}publicstaticvoidmain(String[]args){JFrameframe=newexam_1();}privateJLabellabel;privateJMenuItemepenItem;privateJMenuItemexitItem;}
问答题本程序是一个Applet,使用了CardLayout布局管理器,程序中定义了20个卡片,每个卡片上都画了一个半径递增的红色圆,单击“first”按钮将显示第一个卡片,单击“next”按钮将依次显示下一个卡片,单击“lastone”按钮将显示最后一个卡片,如图所示。importjava.applet.*;importjava.awt.*;importjava.awt.event.*;classMycanvasextendsCanvas{intx,y;Mycanvas(inta,intb){x=a;y=b;setSize(100,160);}publicvoidpaint(Graphicsg){g.setColor(Color.red);g.fillOval(50,50,4*x,4*y);g.drawString("我是第"+x,10,150);}}publicclassexam_74extendsAppletimplementsActionListener{CardLayoutmycard;Buttonbutton1,button2,button3;Mycanvasmycanvas[];Panelp;publicvoidinit(){setLayout(newBorderLayout());mycard=newCardLayout();p=newPanel();p.setLayout(mycard);button1=newButton("first");button2=newButton("next");button3=newButton("lastone");mycanvas=newMycanvas[21];for(inti=1;i<=20;i++){mycanvas[i]=newMycanvas(i,i);p.add("这是"+i,mycanvas[i]);}button1.addActionListener(this);button2.addActionListener(this);button3.addActionListener(this);Panelp2=newPanel();p2.add(buttonl);p2.add(button2);p2.add(button3);add(p,BorderLayout.CENTER);add(p2,BorderLayout.SOUTH);}publicvoidactionPerformed(ActionEvente){if(e.getSource()==button1){______;}elseif(e.getSource()==button2){mycard.next(p);}elseif(e.getSource()==button3){______;}}}exam_74.html:<html><head><title>exam_74</title></head><body><appletcode="exam_74.class"width="400"height="500"></applet></body></html>
问答题本程序的功能是在窗口上绘制了6个不同地区的时钟,如图所示。importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;importjava.util.*;importjavax.swing.Timer;publicclassexam_96{publicstaticvoidmain(String[]args){TimerTestFrameframe=newTimerTestFrame();frame.setDefaultCloseOperation(Frame.EXIT_ON_CLOSE);frame.show();}}classTimerTestFrameextendsJFrame{publicTimerTestFrame(){setTitle("exam_96");setSize(WIDTH,HEIGHT);Containerc=getContentPane();c.setLayout(newGridLayout(2,3));c.add(newClockCanvas("America/Los_Angeles"));c.add(newClockCanvas("America/New_York"));c.add(newClockCanvas("America/Caracas"));c.add(newClockCanvas("Europe/Rome"));c.add(newClockCanvas("Africa/Cairo"));c.add(newClockCanvas("Asia/Taipei"));}publicstaticfinalintWIDTH=450;publicstaticfinalintHEIGHT=300;}classClockCanvasextendsJPanel{publicClockCanvas(){zone=tz;calendar=newGregorianCalendar(TimeZone.getTimeZone(tz));Timert=newTimer(1000,newActionListener(){publicvoidactionPerformed(ActionEventevent){calendar.setTime(newDate());repaint();}});t.starts();setSize(WIDTH,HEIGHT);}publicvoidpaintComponent(Graphicsg){super.paintComponent(g);g.drawOval(0,0,100,100);intseconds=calendar.get(Calendar.HOUR)*60*60+calendar.get(Calendar.MINUTE)*60+calendar.get(Calendar.SECOND);doublehourAngle=2*Math.PI*(seconds-3*60*60)/(12*60*60);doubleminuteAngle=2*Math.PI*(seconds-15*60)/(60*60);doublesecondAngle=2*Math.PI*(seconds-15)/60;g.drawLine(50,50,50+(int)(30*Math.cos(hourAngle)),50+(int)(30*Math.sin(hourAngle)));g.drawLine(50,50,50+(int)(40*Math.cos(minuteAngle)),50+(int)(40*Math.sin(minuteAngle)));g.drawLine(50,50,50+(int)(45*Math.cos(secondAngle)),50+(int)(45*Math.sin(secondAngle)));g.drawString(zone,0,115);}privateStringzone;privateGregorianCalendarcalendar;publicstaticfinalintWIDTH=125;publicstaticfinalintHEIGHT=125;}
问答题本题的功能是统计成绩不及格的人数,分数有89,90,56,90,89,45,23,45,60,59,61。 public class java1 public static void main(String[]args) int[]score=56,90,89,23,45,61,60,59; int num=0; ______; int i=0; while(______) if(______) sum++; i++; System.out.println("<60:"+sum);
问答题本程序的功能是计算二维数组各个元素的和。程序中定义了二维数组arr,arr有3行4列共12个元素,程序中采用for循环语句的嵌套来计算数组中各个元素的和,并将结果保存在sum变量中,最后打印输出计算结果。
public class exam_20{
public static void main(String[] args){
int arr[] []={{1,2,3,4}, {5,6,7,8}, {9,10,11,12}};
int sum=0;
int i=0, j=0;
for(i=0; ______)
for(______)
______;
System.out.println("sum="+sum);
}
}
问答题程序如下:∥Java_2.javaimportjava.util.Random;publicclassJava_2{publicstaticvoidmain(Stringargs[]){Randomrandom=newRandom();floatx=random,nextFloat();∥产生0.0~1.0之间的一个浮点数intn=Math.round(20*x);∥构造20以内的一个整数longf=1;∥保证阶乘的结果intk=1;∥循环控制变量∥**********Found**********do{{{U}}(3){{/U}};k++;∥**********Found**********}{{U}}(4){{/U}}System.out.println(n+"!="+f);}}
问答题本题程序的功能是监听对于列表项的操作。窗口中有一个列表和“添加”、“删除”和“关闭”三个按钮。单击“添加”按钮,会在当前所选列表项后添加一个名为“新增表项”的列表项,同时后台输入列表中的表项数量。单击“删除”按钮,如果未选中表项,则弹出提示消息框“请选择表项”,否则将选中的表项删除,同时后台输出删除表项的内容和列表中的表项数量。单击“关闭”按钮退出程序。程序中存在若干错误,请找出并改正(注意:不得改动程序的结构,不得增行或删行)。 import java.awt.*; import java.awt.event.*; import javax.swing.JOptionPane; public class advance public static void main(String args[]) final Frame frmFrame = new Frame(); Panel pnlPanel1 = new Panel(); Panel pnlPanel2 = new Panel(); final List istList = new List(8); for(int i = 0; i <10; i++) String strName = "表项" + (new Integer(i+1)).toString(); istList.add( strName ); Button btnButton1 = new Button("添加"); Button btnButton2 = new Button("删除"); Button btnButton3 = new Button("关闭"); btnButton1.addActionListener( new ActionListener() publiC void actionPerformed(ActionEvent e) lstList.add("新增表项",istList.getSelected()+1); System.out.println("列表中的表项数量" + istList,getItemCount() ); ); btnButton2.addActionListener (new ActionListener () public void actionPerformed(ActionEvent e) if(istList.getSelected() == null) JOptionPane.showMessageDialog(frmFrame,"请选择表项"); return; System.out.println("删除表项的内容:"+ istList,getSelectedItem()); istList.delete(istList.getSelectedIndex()); System.out.println("列表中的表项数量: " + istList,getItemCount ()); ); btnButton3.addActionListener(new ActionListener () public void actionPerformed(ActionEvent e) System.exit (0); ); pnlPanel1 .add (istList); pnlPanel2 .add (btnButton1); pnlPanel2 .add (btnButton2); pnlPanel2,add (btnButton3); frmFrame.add("North",pnlPanel1); frmFrame.add("South",pnlPanel2); frmFrame,setTitle ("advance"); frmFrame.pack (); frmFrame,show ();
问答题创建线程对象,要传递代码与数据,而传递代码与数据有两种方法,一是通过继承Thread类,二是向Thread类传递一个Runnable对象。请在下面程序的每条横线处填写一个语句,使程序的功能完整。 注意:请勿改动main()主方法和其他已有的语句内容,仅在横线处填入适当的语句。 源程序文件清单如下; public class TestThread public static void main(String args[ ]) MyThread t=new MyThread(); ______; class MyThread ______ Thread ______ for(int i=0;i<10;i++) System.out.println(" "+i);
问答题下面的程序是求字符串的长度及每一个位置上的字符。请在每条横线处填写一条语句,使程序的功能完整。
注意;请勿改动main()主方法和其他已有的语句内容,仅在横线处填入适当的语句。
public class CharAtOp{
public static void main(String args[ ]){
String str="abcdef";
int size=
System.out.println("字符串str的长度为: "+size);
for(int m=0;___________________m++)
{
_______________________
System.out.println("str中的第"+m+"个字符是: "+c);
}
}
}
问答题下面是一个Applet程序,实现实心或者空心矩形的绘制。要求鼠标在Applet窗口中拖动实现矩形的绘制,可以选择填充或者空心,有按钮用来清空窗口中的图像。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。注意:不改动程序的结构,不得增行或删行。程序运行结果如下:importjava.awt.*;importjava.applet.*;/*<appletcode="ex13_3.class"width=800height=400></applet>*/publicclassex13_3extendsAppletprivateButtonbtnClear;privateCheckboxGroupcbg;privateCheckboxchk1,chk2;privateintupX,upY;privateintdownX,downY;privatebooleanbDraw,bClear,bStyle;publicvoidinit()bDraw=false;bClear=false;bStyle=false;setLayout(null);cbg=newCheckboxGroup();chk1=newCheckbox("Hollow",cbg,true);chk2=newCheckbox("Filled",cbg,false);chk1.reshape(80,getSize().height-80,80,25);chk2.reshape(160,getSize().height-80,80,25);add(chk1);add(chk2);btnClear=newButton("clear");btnClear.reshape(240,getSize().height-80,80,25);add(btnClear);publicvoidpaint(Graphicsg)if(bDraw)if(upX>downXelseg.drawRect(downX,downY,upX-downX,upY-downY);elseif(upX>downXelseg.drawRect(downX,upY,upX-downX,downy-upY);elseif(upX<downXelseg.drawRect(upX,downY,downX-upX,upY-downY);elseif(upX<downXelseg.drawRect(upX,upY,downX-upX,downy-upY);bDraw=false;if(bClear)(g.clearRect(0,0,getSize().height,getSize().width);bClear=false;publicvoidupdate(Graphicsg)paint(g);publicbooleanmouseUp(Evente,intx,inty)upX=x;upY=y;bDraw=true;repaint();returntrue;publicbooleanmouseDown(Evente,intx,inty)downX=x;downY=y;returntrue;publicbooleanaction(Evente,Objecto)if(e.target==btnClear)(bClear=true;repaint();if(chkl.getState()==true)bStyle=true;if(chk2.getState()==true)bStyle=false;returntrue;ex13_3.html<HTML><HEAD><TITLE>ex13_3</TITLE></HEAD><BODY><appletcode="ex13_3.class"width=800height=400></applet></BODY></HTML>
问答题请完成下列Java程序:创建一个具有2行3列的GridLayout管理器,包括Choice,Label,Button构件,布局为第1行包括一个Choice构件(包括2个选项item1和item2),一个Label构件(当选择Choice构件中的选项时,Label构件显示相应的名称,即,如果点击item1则Label中显示item1),和一个exit按钮(点击则退出应用程序),第2行包括3个Button构件。程序运行结果如下:注意:请勿改动main()主方法和其他已有语句内容,仅在下划线处填入适当的语句。importjava.awt.*;importjava.awt.event.*;publicclassex1_2extendsFrameimplementsActionListener,ItemListener{privateLabel1;privateStringstr="label";privateChoicechoice1_2;publicstaticvoidmain(String[]arg){newex1_2();}ex1_2(){setLayout(______);choice1_2=newChoice();choice1_2.addltem("item1");choice1_2.addltem("item2");choice1_2.____________;add(choice1_2);1=newLabel(str);add(1);Buttonexit1_2=newButton("exit");exit1_2.addActionListener(this);add(exit1_2);for(inti=0;i<3;i++)add(newButton("button"+i));setsize(300,300);pack();show();}publicvoidactionPerformed(ActionEventevent){if(event.getActionCommand().equals("exit")){System.exit(0);}}publicvoiditemStateChanged(ItemEventevent){str=choice1_2.getSelectedltem();1.setText(str);}}
问答题下列程序打包到example包,main方法调用线程类输出0~9这10个数,请填写横线处的内容。 注意:请勿改动main()主方法和其他已有语句内容,仅在横线处填入适当语句。 ______ interface MyInterface public abstract void print(int n); class Mythread extends Thread ______ MyInterface public void run() for(int i = 0; i < 10; i++) this.print(i); public void print(int n) System.out.print(n +" "); public class Example1_6 public static void main(String argv[]) Mythread th = new Mythread(); ______
问答题注意:下面出现的“考生文件夹”均为%USER%。在考生文件夹中存有文件名为Java_3.java的文件,该程序是不完整的,请在注释行“//**********Found**********”下一行语句的下画线地方填入正确内容,然后删除下画线,请勿删除注释行或改动其他已有语句内容。存盘时文件必须存放在考生文件夹下,不得改变原有文件的文件名。本题的要求是:阅读Java_3.java程序,运行后输入如下整数:再按回车键,所得结果为:给定源程序://打印无符号整数位importjava.awt.*;importJava.awt.event.*;importjavaxswing.*;publicclassJava_3extendsJFramepublicJava_3()super("打印无符号整数位");Containerc=getContentPane();c.setLayout(newFlowLayout());c.add(newJLabel("请输入整数:"));finalJTextFieldoutput=newJTextField(33);JTextFieldinput=newJTextField(10);input.addActionListener(newActionListener()publicvoidactionPerformed(ActionEvente)intval=Integer.parseInt(e.getActionCommand());output.setText(getBits(val));;c.add(input);c.add(newJLabel("该数的二进制位表示是"));output.setEditable(false);//*********Found********c.add(______);setSize(720,70);show();privateStringgetBits(intvalue)intdisplayMask=1<<31;StringBufferbuf=newStringBuffer(35);for(intc=1;c<=32;c++)buf.append((valuevalue<<=1;if(C%8==0)buf.append('');returnbuf.toString();publicstaticvoidmain(Stringargs[])Java_3app=newJava_3();app.addWindowListener(newwindowAdapter()//*********Found********publicvoidwindowClosing(______e)System.exit(0);;
问答题本题将数组arrA中的元素按逆序存储在另外一个相同长度的数组arrB中。 public class java1 public static void main(String[]args) int[]arrA=1,3,8,4,2,6,9,0,7; int[]arrB=______; int i=0; int j=______; for(i=0;i<arrA.length;i++) arrB[j]=arrA[i]; ______; System.out.println("arrA:"+"arrB:"); for(i=0;i<arrA.length;i++) System.out.println(arrA[i]+""+arrB[i]);
问答题本题程序随机产生10个学生的成绩(0~100),要求每个学生的成绩都必须及格,同时团体的平均分不少于70分,这样这个团体才能通过,否则就不能通过。请将下述程序补充完整(注意:不得改动程序的结构,不得增行或删行)。 public class basic public static void main(String[] args) int score,sum = 0,i; for(i = 1;i <= 10; i ++) score = (int) (______); System.out.print (score +","); if(score < 60) ______; sum = sum + score; i++; System.out.println(); if ((i == 10) && (______)) System.out.println("This team passes!"); else System.out.println("This team doesn't pass! ");
问答题本程序中,主窗口有一个“退出”按钮,单击该按钮将弹出一个有“确定”与“取消”按钮的对话框,窗口的标题是“Logout”,单击“确定”按钮后退出程序,否则将返回主窗口,如图所示。importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;importjavax.swing.event.*;publicclassexam_32{publicstaticvoidmain(String[]args){DialogFrameframe=newDialogFrame();frame.setDefaultCloseOperation(JFrame.EXITONCLOSE);frame.show();}}classDialogFrameextendsJFrame{publicDialogFrame(){setTitle("exam_32");setSize(WIDTH,HEIGHT);ContainercontentPane=getContentPane();JPanelbuttonPanel=newJPanel();logoutButton=newJButton("退出");logoutButton.addActionListener(______);buttonPanel.add(logoutButton);contentPane.add(buttonPanel,BorderLayout.SOUTH);}privateclassLogoutActionimplementsActionListener{publicvoidactionPerformed(ActionEventevent){intselection=JOptionPane.showConfirmDialog(DialogFrame.this,"Areyousure?","Logout",JOptionPane.OK_CANCEL_OPTION,JOptionPane.WARNING_MESSAGE);if(selection==JOptionPane.OK_OPTION){______;}}}publicstaticfinalintWIDTH=200;publicstaticfinalintHEIGHT=120;privateJButtonlogoutButton;}
问答题本程序中在窗口的中间显示了一个字符串“欢迎学习Java!”,字符串的字体为黑体,样式为加粗并且为斜体,如图所示。importjava.awt.*;importjava.awt.font.*;importjavax.swing.*;publicclassexam_34{publicstaticvoidmain(String[]args){FontFrameframe=newFontFrame();frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.show();}}classFontFrameextendsJFrame{publicFontFrame(){setTitle("exam_34");setSize(WIDTH,HEIGHT);FontPanelpanel=newFontPanel();ContainercontentPane=getContentPane();contentPane.add(panel);}publicstaticfinalintWIDTH=300;publicstaticfinalintHEIGHT=200;}classFontPanelextendsJPanel{publicvoidpaintComponent(Graphicsg){super.paintComponent(g);Fontf=newFont(______,Font.BOLD+Font.ITALIC,20);g.setFont(f);______("欢迎学习Java!",x,y);}publicintx=75;publicinty=100;}
问答题本程序提示输入年份,然后判断该年份是否为闰年。
import Java.io.*;
public class exam_13{
public static void main(String[] args) {
InputStreamReader ir;
BufferedReader in;
ir=new InputStreamReader(System.in);
in=new BufferedReader(ir);
int year=1900;
System.out.print("请输入年份:");
try{
String s=in.readLine();
______;
}______(Exception e){
}
if(______)
System.out.println(year+"是闰年");
else
System.out.println(year+"不是闰年");
}
}