java操作题33套

基本操作

在考生文件夹中存有文件名为Java_1.java的文件,该程序是不完整的,请在注释行"//Found"下一行语句的下划线地方填入正确内容,然后删除下划线,请勿删除注释行或改动其他已有语句内容。存盘时文件必须存放在考生文件夹下,不得改变原有文件的文件名。
程序的功能是:先把一组字符写入文件"test.dat"中,再从该文件中读出数据放在数组中,打印输出该数组。执行程序后,输出的结果为:
a b c d e f g h i

import java.io.*;

public class Java_1 {
public static void main(String[] args) {
char[] charArray = {‘a’,‘b’,‘c’,‘d’,‘e’,‘f’,‘g’,‘h’,‘i’};
char c ;
try{
//Found*
DataOutputStream out = new ______________________(
new FileOutputStream(“test.dat”));
for(int i =0; i<charArray.length; i++){
out.writeChar(charArray[i]);
}
out.close();
DataInputStream in = new DataInputStream(
//Found*
new FileInputStream(""));
while(in.available() != 0){
c=in.readChar();
System.out.print(c+" ");
}
System.out.println();
//Found*
in.
();
}catch(IOException e){}
}
}

本题考查的是IO。
由代码可以得知,out是一个DataOutputStream对象,DataOutputStream非接口而是类,所以第一空填写"DataOutputStream"。
题目要求将字符输入到文件test.dat中,FileInputStream是文件输入流,所以第二空填写"test.dat"。
输入流在操作结束后需要做关闭操作,所以第三空填写"close"。
具体程序如下:

import java.io.*;

public class Java_1 {
  public static void main(String[] args) {
    char[] charArray = {'a','b','c','d','e','f','g','h','i'};
    char c  ;
    try{
//*********Found**********
        DataOutputStream out = new DataOutputStream(
               new FileOutputStream("test.dat"));
        for(int i =0; i<charArray.length; i++){
           out.writeChar(charArray[i]);
        }
        out.close();
        DataInputStream in = new DataInputStream(
//*********Found**********
               new FileInputStream("test.dat"));
        while(in.available() != 0){
           c=in.readChar();
           System.out.print(c+" ");
        }
        System.out.println();
//*********Found**********
        in.close();
    }catch(IOException e){}
  }
}

 

简单应用

在考生文件夹中存有文件名为Java_2.java的文件,该程序是不完整的,请在注释行"//Found"下一行语句的下划线地方填入正确内容,然后删除下划线,请勿删除注释行或改动其他已有语句内容。存盘时文件必须存放在考生文件夹下,不得改变原有文件的文件名。
本题的要求是:
在1-n之间的自然数中,每次抽取k个数字来抽奖,计算中奖几率的算法为:
n*(n-1)(n-2)(n-k+1)/(123…*k)
完善程序,实现中奖几率的计算。
例如,在输入窗口中输入3, 

在这里插入图片描述

然后在如下的显示窗口输入20,

在这里插入图片描述

则程序最终的运行结果是:
你中奖的几率是1/1140. Gook luck!

//Found*
import _______________.*;

public class Java_2{
public static void main(String[] args){
//Found*
_____________ input = JOptionPane.showInputDialog(“你想抽几个数?”);
int k = Integer.parseInt(input);
input = JOptionPane.showInputDialog(“你想在自然数中抽的最大数是几?”);
int n = Integer.parseInt(input);
int lotteryOdds = 1;
//Found*
for (int i = 1; i <= _________; i++)
lotteryOdds = lotteryOdds * (n - i + 1)/i;
//Found*
System.out.println(“你中奖的几率是1/” + __________________ + “. Good luck!”);
System.exit(0);
}
}

本题考查的是JavaSwing。
JOptionPane属于javax.swing包下的类,所以第一空填写"javax.swing"。
JOptionPane.showInputDialog(“你想抽几位数?”)返回的是一个字符串,所以第二空填写"String"。
循环的次数是共有几个数,所以第三空填写"k"。
lotteryOdds即中奖概率,所以第四空填写"lotteryOdds"。
具体程序如下:

//*********Found**********
import javax.swing.*;

public class Java_2{
  public static void main(String[] args){
//*********Found**********
    String input=JOptionPane.showInputDialog("你想抽几个数?");
    int k = Integer.parseInt(input);
    input = JOptionPane.showInputDialog("你想在自然数中抽的最大数是几?");
    int n = Integer.parseInt(input);
    int lotteryOdds = 1;
//*********Found**********
    for (int i = 1; i <= k; i++)
       lotteryOdds = lotteryOdds * (n - i + 1)/i;
//*********Found**********
    System.out.println("你中奖的几率是1/" + lotteryOdds + ". Good luck!");
    System.exit(0);
  }
}

 

综合应用

在考生文件夹中存有文件名为Java_3.java和Java_3.html的文件,该程序是不完整的,请在注释行"//Found"下一行语句的下划线地方填入正确内容,然后删除下划线,请勿删除注释行或改动其他已有语句内容。存盘时文件必须存放在考生文件夹下,不得改变原有文件的文件名。
本题的要求是:
用阶乘函数的递归定义:n!=n*(n-1)!计算0至10的阶乘的值,使小程序结果如下: 

在这里插入图片描述

import java.awt.;
import javax.swing.
;

//Found*
public class Java_3 extends _____________________{
JTextArea outputArea;
public void init(){
outputArea = new JTextArea();
//Found*
Container c = ____________________();
//Found*
c.add( __________________ );
//计算0至10的阶乘
for ( long i = 0; i <= 10; i++ )
outputArea.append(
i + "! = " + factorial( i ) + “\n” );
}
//阶乘的递归定义
public long factorial( long number ){
if ( number <= 1 )
return 1;
else
return number * factorial( number - 1 );
}
}

本题考查的是Applet。
根据题意所需要的是启动一个小程序,所以第一空填写"JApplet"。
Container接收的是一个全局上下文的Panel,所以第二空填写"getContentPane"。
根据题意需要将文本域加入到小程序中,所以第三空填写"outputArea"。
具体程序如下:

import java.awt.*;
import javax.swing.*;

//*********Found**********
public class Java_3 extends JApplet{
   JTextArea outputArea;
   public void init(){
      outputArea = new JTextArea();
//*********Found**********
      Container c = getContentPane();
//*********Found**********
      c.add( outputArea);
      //计算0至10的阶乘
      for ( long i = 0; i <= 10; i++ )
         outputArea.append(
            i + "! = " + factorial( i ) + "\n" );
   }  
   //阶乘的递归定义
   public long factorial( long number ){                  
      if ( number <= 1 ) 
         return 1;
      else
         return number * factorial( number - 1 );
   }  
}

 
二级Java操作题的知识点主要包括面向对象编程、异常处理、集合框架、输入输出流、多线程、网络编程等。 首先,面向对象编程是Java的重要特性之一。了解如何创建类、对象和方法,封装、继承、多态等基本概念是必须的。掌握类的访问修饰符、构造方法、静态成员、final关键字等也是必要的。 其次,异常处理是编写可靠程序的关键。了解并能够正确使用try-catch-finally结构捕获和处理异常,也要掌握自定义异常类的使用方法。 集合框架是Java非常重要的工具,可以存储和操作多个对象。了解集合接口和具体的集合类,如List、Set、Map等,并能够熟练使用它们进行数据的增删改查操作。 输入输出流是Java处理文件和数据流的重要手段。了解文件读写的基本操作,如FileReader、FileWriter、BufferedReader、BufferedWriter等,并能够正确处理各种IO异常。 多线程是Java充分利用多核处理器的重要方式。了解线程的生命周期、同步与互斥、线程池等概念,了解如何使用Thread类和Runnable接口创建和管理线程。 网络编程是实现网络通信的基础。了解Socket编程和URL编程的基本知识,了解TCP和UDP协议、HTTP协议等,并能够编写简单的网络应用程序。 以上是二级Java操作题的主要知识点概述,掌握这些知识点将有助于编写出高效、可靠的Java程序。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值