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 );
   }  
}

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值