淘小兔

一、基本操作题 

  本题利用递归方法求前n个自然数的和(n=lO)。 
  publicclassjaval{ 
  publicstaticvoidmain(String[]args){ 
  intsum=add(10): 
  System.out.println("1+2+…+9+10="+ 
  sum); 
  } 
  publicstaticintadd(){ 
  if(n==l){ 
  ; 
  } 
  else 
  ; 
  } 
  }

点击进入>>全国计算机等级考试真题题库全套最新考试资料

二、简单应用题 

  本题中定义了一个简单的计算器,可以进行基本的四则运算。程序中包含16个按钮用来表示0~9、+、-、*、/、一运算符和小数点,程序顶部的文本框用来显示操作数以及结果。 
  importjava.awt.*; 
  importjava.awt.event.*; 
  importjavax.swing.*; 
  publicclassjava2{ 
  publicstaticvoidmain(String[]args){ 
  try{ 
  UIManager.setLookAndFeel(UIManager.getSys- 
  temLookAndFeelClassName()); 
  } 
  catch(Exceptione){} 
  JFrameframe=newCalculatorFrame(); 
  frame.show(); 
  } 
  } 
  classCalculatorPanelextendsJPanelimplementsAc- 
  tionListener{ 
  privateJTextFielddisplay; 
  privateJButtonbtn; 
  privatedoublearg=0; 
  privateStringop="="; 
  privatebooleanstart=true; 
  publicCalculatorPanel(){ 
  setLayout(newBorderLayout()); 
  display=newJTextField("0"); 
  display.setEditable(false); 
  add(display,"North"); 
  JPanelP=newJPanel(); 
  P.setLayout(newGridLayout(4,4)); 
  Stringbuttons="789/456*123-0.=+": 
  for(inti=0;i  btn=newJButton(buttons.substring(i,i+ 
  1)); 
  P.add(btn); 
  ; 
  } 
  add(P,"Center"); 
  } 
  publicvoidactionPerformed(ActionEventevt){ 
  Strings=evt.getActionCommand(); 
  if(’0’<=s.charAt(0)&&s.charAt(O)<=’ 
  9’‖s.equals("-")){ 
  if(start)display.setText(s): 
  elsedisplay.setText(display.getText()+s); 
  start=false; 
  } 
  else{ 
  if(start){ 
  if(s.equals("-")){ 
  display.setText(s): 
  start=false; 
  } 
  elseop=S; 
  } 
  else( 
  doublex=; 
  calculate(x); 
  op=S: 
  start=true; 
  } 
  } 
  } 
  publicvoidcalculate(doublen){ 
  if(op.equals("+"))arg+=n: 
  elseif(op.equals("-"))arg-=n; 
  elseif(op.equals("*"))arg*=n; 
  elseif(op.equals("/"))arg/=n; 
  elseif(op.equals("="))arg=n; 
  display.setText(""+arg); 
  } 
  } 
  classCalculatorFrameextendsJFrame{ 
  publicCalculatorFrame(){ 
  setTitle("java2"); 
  setSize(220,180); 
  addWindowListener(newWindowAdapter(){ 
  publicvoidwindowClosing(WindowEvente){ 
  System.exit(0); 
  } 
  }); 
  ContainercontentPane=getContentPane(); 
  contentPane.add(newCalculatorPanel()); 
  } 
  }

三、综合应用题

  本题的功能是用文本框来设定表盘中指针的位置。窗口中有一个画板和两个文本框,画板中绘制了一个表盘和时针、分针,通过文本框分别设定“时”和“分”,表盘中的时针和分针就会指到对应的位置上。 
  importjava.awt.*; 
  importjava.awt.event*; 
  importjava.awt.geom.*; 
  importjavax.swing.*; 
  importjavax.swing.event.*; 
  publicclassjava3 
  { 
  publicstaticvoidmain(String[]args) 
  { 
  TextTestFrameframe=newTextTestFrame(): 
  frame.setDefauhCloseOperation(JFrame.EXIT_ 
  0N_CLOSE); 
  frame.show(); 
  } 
  } 
  classTextTestFrameextendsJFrame 
  { 
  publicTextTestFrame() 
  { 
  setTitle("java3"): 
  setSize(DEFAULT_WIDTH,DEFAULT_ 
  HElGHT); 
  ContainercontentPane=getContentPane(); 
  DocumentListenerlistener=newDoeumentListen- 
  er(); 
  JPanelpanel=newJPanel(); 
  hourField=newJTextField("12",3); 
  panel.add(hourField); 
  hourField.getDocument().addDocumentListener 
  (this); 
  minuteField=newJTextField("00",3): 
  panel.add(minuteField); 
  minuteField.getDocument().addDocumentListener 
  (listener); 
   
  contentPane.add(panel,BorderLayout.S()UTH); 
  clock=newClockPanel(); 
  contentPane.add(clock,BorderLayout.CEN- 
  TER); 
  } 
  publicvoidsetClock() 
  { 
  try 
  { 
  inthours 
  =Integer.parseInt(hourField.getText().trim 
  ()): 
  intminutes 
  =Integer.parseInt(minuteField.getText().trim 
  ()); 
  clock.setTime(hours,minutes); 
  } 
  catch(NumberFormatExcepfione){} 
  } 
  publicstaticfinalintDEFAULT_WIDTH=300; 
  publicstaticfinalintDEFAULT_HEIGHT 
  =300; 
  privateJTextFieldhourField; 
  privateJTextFieldminuteField; 
  privateClockPanelclock; 
  privateclassclockFieldListenerextendsDocu- 
  mentListener 
  { 
  publicvoidinsertUpdate(DocumentEvente){set- 
  Clock();} 
  publicvoidremoveUpdate(DocumentEvente){ 
  setClock();} 
  publicvoidchangedUpdate(DocumentEvente){} 
  } 
  } 
  classClockPanelextendsJPanel 
  { 
  pubhcvoidpaintComponent(Graphicsg) 
  { 
  super.paintComponent(g); 
  Graphies2Dg2=(Graphics2D)g; 
  Ellipse2Dcircle 
  =newEllipse2D.Double(0,0,2*RADIUS,2 
  *RADIUS); 
  g2.draw(circle); 
  doublehourAngle 
  =Math.toRadians(90-360*minutes/(12 
  *60)); 
  drawHand(92,hourAngle,HOUR_HAND_ 
  LENGTH); 
  doubleminuteAngle 
  =Math.toRadians(90-360*minutes/60); 
  drawHand(g2,minuteAngle,MINUTE_HAND_ 
  LENGTH): 
  } 
  punicvoiddrawHand(Graphics2Dg2, 
  doubleangle,doublehandLength) 
  { 
  Point2Dend=newPoint2D.Double( 
  RADIUS+handLength*Math.cos(angle), 
  RADIUS-handLength*Math.sin(angle)); 
  Point2Dcenter=newPoint2D.Double(RADIUS, 
  RADIUS): 
  g2.draw(newLine2D.Double(center,end)); 
  } 
  publicvoidsetTime(inth,intm) 
  { 
  minutes=h*60+m; 
  repaint(); 
  } 
  privatedoubleminutes=0; 
  privatedoubleRADIUS=100; 
  privatedoubleMINUTE_HAND_LENGTH= 
  0.8*RADIUS; 
  privatedoubleHOUR_HAND_LENGTH=0.6 
  *RADIUS: 
  }

 

考试试题答案与解析 

  一、基本操作题 
  第1处:intn 
  第2处:returnl 
  第3处:returnn+add(n-1) 
  【解析】递归方法是一种调用程序本身并采用栈结构的算法,第1处定义参数类型;第2处是递归初值;第3处为递归运算。 
  二、简单应用题 
  第1处:btn.addActionListener(this) 
  第2处:Double.parseDouble(display.getText()) 
  【解析】第1处为按钮添加监听器;第2处获得输入数字并转化为double型。 
  三、综合应用题 
  第1处:DocumentListenerlistener=newClockField-Listener() 
  第2处:hourField.getDocument().addDocumentLis-tener(listener) 
  第3处:privateclassClockFieldListenerimplementsDocu-mentListener 
  【解析】第1处从后面程序可以看出ClockFieldListener类扩展了DocumentListener,此处应使用继承后的子类;第2处注册窗体的监听器,参数应为事件源。第3处实现的是接口,应使用implements。

下载仅供下载体验和测试学习,不得商用和正当使用。

下载体验

请输入密码查看内容!

如何获取密码?

 

点击下载