计算机二级java上机真题40道.docx
- 文档编号:16712376
- 上传时间:2023-07-16
- 格式:DOCX
- 页数:204
- 大小:62.53KB
计算机二级java上机真题40道.docx
《计算机二级java上机真题40道.docx》由会员分享,可在线阅读,更多相关《计算机二级java上机真题40道.docx(204页珍藏版)》请在冰点文库上搜索。
计算机二级java上机真题40道
二级JAVA上机试题汇编
※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
第01套:
给定源程序:
//计算两个整数的乘法
importjavax.swing.JOptionPane;
publicclassJava_1{
publicstaticvoidmain(Stringargs[]){
intx,y,result;
StringxVal,yVal;
xVal=JOptionPane.showInputDialog("输入第1个整数:
");
yVal=JOptionPane.showInputDialog("输入第2个整数:
");
//*********Found********
x=Integer.parseInt(_________xVal_________);
y=Integer.parseInt(yVal);
result=x*y;
//*********Found********
JOptionPane.____________showMessageDialog_____________(null,"两个数的积:
"+result);
System.exit(0);
}
}
解题思路:
Java程序修改如下:
第1处:
需转换成整数的字符串变量,需填入xVal
第2处:
调用显示信息对话框,需填入showMessageDialog
2.简单应用(1小题,计40分)
本题的要:
阅读Java_2.java程序,该程序的功能是将本程序代码打印输出。
完成程
序编写并运行。
所得结果即本程序代码。
给定源程序:
importjava.io.*;
publicclassJava_2{
//*********Found********
publicstaticvoidmain(Stringargs[])_____throws______Exception{
longfilePoint=0;
Strings;
/*类RandomAccessFile可用于随机文件的读写
随机文件的优势:
可将每个连续的读写请求定位到文件的任何部分,并且读写请求所获得的数据段在文件中可以相去甚远
*/
//新建一个RandomAccessFile的对象file
RandomAccessFilefile=newRandomAccessFile("Java_2.java","r");
longfileLength=file.length();
while(filePoint //*********Found******** s=______file._____.readLine();//从此文件读取文件的下一行 System.out.println(s); filePoint=file.getFilePointer(); } file.close(); } } 解题思路: Java程序修改如下: 第1处: 异常处理,需填入throws 第2处: 随机存取文件,需填入file. 3.综合应用(1小题,计30分) 阅读Java_3.java程序,该程序利用BitSet算法,筛选得到1至1023之间 的素数。 完成程序并运行所得结果为: 给定源程序: //Java_3.java: 用BitSet完成Eratosthenes筛网算法找1至1023之间的素数. importjava.awt.*; importjava.awt.event.*; importjava.util.*; importjavax.swing.*; publicclassJava_3extendsJFrame{ publicJava_3(){ super("BitSets"); finalBitSetsieve=newBitSet(1024); Containerc=getContentPane(); finalJLabelstatus=newJLabel(); c.add(status,BorderLayout.SOUTH); JPanelinputPanel=newJPanel(); inputPanel.add(newJLabel("从1至1023"+"输入值: ")); finalJTextFieldinput=newJTextField(10); input.addActionListener( newActionListener(){ publicvoidactionPerformed(ActionEvente){ intval=Integer.parseInt(input.getText()); if(sieve.get(val)) status.setText(val+"是一个素数"); else status.setText(val+"不是一个素数"); } } ); inputPanel.add(input); c.add(inputPanel,BorderLayout.NORTH); JTextAreaprimes=newJTextArea(); ScrollPanep=newScrollPane(); //*********Found******** p.add(_______primes_________); c.add(p,BorderLayout.CENTER); //从1至1023设置所有位 intsize=sieve.size(); for(inti=1;i sieve.set(i); //执行Eratosthenes筛网算法 intfinalBit=(int)Math.sqrt(sieve.size()); for(inti=2;i if(sieve.get(i)) for(intj=2*i;j sieve.clear(j); intcounter=0; for(inti=1;i if(sieve.get(i)){ primes.append(String.valueOf(i)); primes.append(++counter%7==0? "\n": "\t"); } setSize(300,250); show(); } publicstaticvoidmain(Stringargs[]){ Java_3app=newJava_3(); //*********Found******** app.___________addWindowListen_____________( newWindowAdapter()){ publicvoidwindowClosing(WindowEvente){ System.exit(0); }});}} 解题思路: Java程序修改如下: 第1处: 文本区域添加到窗口,需填入primes 第2处: 注册监控器,需填入addWindowListener ※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※ 第02套: 本题的要: 使程序按下列格式打印: 欢迎 你 参加 Java 考试 注意: 在输出的字符串中不含有空格。 给定源程序: //用一个打印语句输出多行结果 publicclassJava_1 { publicstaticvoidmain(Stringargs[]) { //*********Found******** ____________System.out.print_____________("欢迎\n你\n参加\nJava\n考试"); } } 解题思路: Java程序修改如下: 第1处: 在屏幕上打印输出,需填入System.out.println或System.out.print 2.简单应用(1小题,计40分) 本题的要: 程序中HandleButton类是"Pleasepressme! "按钮的监听器类。 完成程序,使在点击"Pleasepressme! "按钮时在命令窗口中打印"Thebuttonispressed! ",并且在点击窗口右上方的关闭窗口按钮时能够关闭窗口。 给定源程序: importjava.awt.*; importjava.awt.event.*; \TAB publicclassJava_2extendsFrame{ \TAB\TAB \TABpublicJava_2(Strings){ \TAB\TABsuper(s); \TAB} \TAB \TABpublicstaticvoidmain(Stringargs[]){\TAB\TAB \TAB\TABJava_2fr=newJava_2("Testing"); \TAB\TABButtonb=newButton("Pleasepressme! "); //*********Found******** b.addActionListener(________newHandleButton()__________); \TAB\TABfr.add(b); \TAB\TABfr.setSize(200,200); \TAB\TAB\TAB\TAB \TAB\TABfr.addWindowListener(newWindowAdapter());{ \TAB\TAB\TABpublicvoidwindowClosing(WindowEvente){ \TAB\TAB\TAB\TABSystem.exit(0); \TAB\TAB\ TAB} \TAB\TAB} //*********Found******** \TAB\TABfr.setVisible(_____true_______);\TAB \TAB} } classHandleButtonimplementsActionListener{ publicvoidactionPerformed(ActionEvente){ \TABSystem.out.println("Thebuttonispressed! ");}} 解题思路: Java程序修改如下: 第1处: 为按钮注册监听器,需填入newHandleButton() 第2处: 将窗体设为可见,需填入true 3.综合应用(1小题,计30分) 本题的要: 该程序是测试以0作除数异常,在文本域中,显示出异常信息。 完成程序 并正常运行,运行结果如图所示。 给定源程序: importjava.awt.*; importjava.awt.event.*; importjavax.swing.*; importjava.io.*; publicclassJava_3{ publicstaticvoidmain(String[]args){ ExceptTestFrameframe=newExceptTestFrame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true);}} classExceptTestFrameextendsJFrame { publicExceptTestFrame() { setTitle("ExceptTest"); ContainercontentPane=getContentPane(); ExceptTestPanelpanel=newExceptTestPanel(); contentPane.add(panel); pack();}} classExceptTestPanelextendsBox{ publicExceptTestPanel(){ super(BoxLayout.Y_AXIS); group=newButtonGroup(); addRadioButton("整数被零除",newActionListener() { //*********Found******** publicvoid________actionPerformed___________(ActionEventevent) { //*********Found******** a[1]=1/(a.length-a.____length______); } }); textField=newJTextField(30); add(textField); } privatevoidaddRadioButton(Strings,ActionListenerlistener) { JRadioButtonbutton=newJRadioButton(s,false) { protectedvoidfireActionPerformed(ActionEventevent) { try { textField.setText("Noexception"); super.fireActionPerformed(event); } catch(Exceptionexception) { //*********Found******** textField.___setTest._____(exception.toString()); } } }; button.addActionListener(listener); add(button); group.add(button); } privateButtonGroupgroup; privateJTextFieldtextField; privatedouble[]a=newdouble[10]; } 解题思路: Java程序修改如下: 第1处: 事件处理方法,需填入actionPerformed 第2处: 被零除,测试异常处理,需填入length 第3处: 设置文本框文字,需填入setText ※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※ 第03套: 1.基本操作(1小题,计30分) 在考生文件夹中存有文件名为Java_1.java文件,请完善Java_1.java文件, 并进行调试,使程序结果为: abcdefghi 由于Java_1.java文件不完整,请在注释行“//*********Found*********” 下一行语句的下划线地方填入正确容,然后删除下划线,请勿删除注释行 或其他已有语句容。 给定源程序: importjava.io.*; publicclassJava_1{ publicstaticvoidmain(String[]args){ char[]charArray={'a','b','c','d','e','f','g','h','i'}; charc; try{ //*********Found********** DataOutputStreamout=new_________DataOutputStream_____________( newFileOutputStream("test.dat")); for(inti=0;i out.writeChar(charArray[i]); } out.close();\TAB\TAB DataInputStreamin=newDataInputStream( //*********Found********** newFileInputStream("________testdat____________")); while(in.available()! =0){ c=in.readChar(); System.out.print(c+""); } System.out.println(); //*********Found********** in._________close___________(); }catch(IOExceptione){} } } 解题思路: Java程序修改如下: 第1处: 创建数据输出流,需填入DataOutputStream 第2处: 文件输入流的文件名,需填入test.dat 第3处: 关闭数据输入流,需填入close ********************************************************************** 2.简单应用(1小题,计40分) 本题功能是在1-n之间的自然数中,每次抽取k个数字来抽奖,计算中奖几率的算法为: n*(n-1)*(n-2)*·…*(n-k+1)/1*2*3*…*k 请完善Java_2.java文件,并进行调试,使程序先显示输入窗口 如下: 然后从自然数1-20中,每次抽3个数,计算中奖几率,并将最终结果在命令行 中显示,其形式类似: 你中奖的几率是1/1140.Goodluck! 由于Java_2.java文件不完整,请在注释行“//*********Found*********” 下一行语句的下划线地方填入正确容,然后删除下划线,请勿删除注释行 或其他已有语句容。 importjavax.swing.*; publicclassJava_2{ publicstaticvoidmain(String[]args){ //*********Found********** Stringinput=____________________.showInputDialog("你想抽几位数? "); //*********Found********** intk=Integer.parseInt(______________________); input=JOptionPane.showInputDialog("你想在自然数中抽的最高数是几? "); //*********Found********** intn=___________________.parseInt(input); intlotteryOdds=1; for(inti=1;i<=k;i++) lotteryOdds=lotteryOdds*(n-i+1)/i; //*********Found********** System.out.println("你中奖的几率是1/"+__________________+".Goodluck! "); System.exit(0); } } 解题思路: Java程序修改如下: 第1处: 输入对话框,需填入JOptionPane 第2处: 需转换成整数的字符串变量,需填入input 第3处: 将字符串input转换成整数的类方法所属于的类,需填入Integer 第4处: 屏幕打印容,需填入lotteryOdds ********************************************************************** 3.综合应用(1小题,计30分) 本题的功能是用递归定义: n! =n*(n-1)! 计算0至10的阶乘。 请完善Java_3.java文件, 并进行调试(在命令行中使用appletviewerJava_3.html,或者使用集成开 发环境),使小程序结果如下: 由于Java_3.java文件不完整,请在注释行“//*********Found*********” 下一行语句的下划线地方填入正确容,然后删除下划线,请勿删除注释行 或其他已有语句容。 存盘时,文件必须存放在考生文件夹下,不得改变原有文件的文件名。 给定源程序: importjava.awt.*; importjavax.swing.*; //*********Found********** publicclassJava_3extends_____________________{ JTextAreaoutputArea; publicvoidinit(){ outputArea=newJTextArea(); //*********Found********** Containerc=____________________(); //*********Found********** c.add(__________________); //计算0至10的阶乘 for(longi=0;i<=10;i++) outputArea.append( i+"! ="+factorial(i)+"\n"); } //阶乘的递归定义 publiclongfactorial(longnumber){ if(number<=1) return1; else returnnumber*factorial(number-1); } } 解题思路: Java程序修改如下: 第1处: 扩展网页,需填入JApplet 第2处: 创建对象,需填入getContentPane 第3处: 添加对象,需填入outputArea ※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※? 第04套: 1.基本操作(1小题,计30分) 给定源程序: importjavax.swing.*; importjava.text.DecimalFormat; publicclassJava_1{ //*********Found********** publicstatic___________________main(Stringargs[]){ SimpleTimet=newSimpleTime(12,30,19); //*********Found********** __________
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 二级 java 上机 40