南京师范大学java程序设计期末复习

Java期末复习

题型:

  1. 程序设计题,每题8分,共5题利用Java完成一些基本算法的设计与实现,涉及Java基本语法、面向对象技术、异常、输入输出、多线程

  2. 程序阅读题,每题10分,共3题阅读程序回答问题,包括输出结果、修改程序等,涉及Java基本语法、面向对象技术、异常等。

  3. 综合应用题,每题15分,共2题利用Java面向对象技术对具体业务场景进行设计。

    主要考察知识点Java基本语法 (利用Java完成一些基本算法的设计与实现),面向对象(类定义、新建、成员变量、成员方法、main方法、重写和重载、抽象类和接口、继承与多态)、异常(try catch、throws/throw、自定义异常)、输入输出(文件的读写操作)、多线程(Thread、Runnable 接口,run方法)

程序设计题

第二份作业前13题与递归部分,最后两节课的课上代码

题1:将源文件的内容复制到目标文件中,实现文件复制的功能。

public static void fileCopy(String src, String dsc) throws Exception {
   
     
    DataInputStream dis = new DataInputStream(new FileInputStream(src));  
    DataOutputStream dos = new DataOutputStream(new FileOutputStream(dsc));   
    byte[] buf = new byte[4 * 1024 * 1024]; // 4MB的缓冲区  
    int n;  
    while ((n = dis.read(buf)) != -1) {
   
     
        dos.write(buf, 0, n);  
    }  
    dis.close();  
    dos.close();  
}

题2:生成十个随机数,在屏幕上输出,求和,求平均值,求最大值。

import java.io.FileOutputStream;  
import java.io.DataOutputStream;  
import java.io.IOException;  
import java.util.Random;  
public class RandomData {
   
     
    public static void main(String[] args) throws IOException {
   
     
        DataOutputStream dos = new DataOutputStream(new FileOutputStream("d:/data.dat"));  
        Random r = new Random();  
        int sum = 0;  
        int max = Integer.MIN_VALUE;  
        for (int i = 1; i <= 10; i++) {
   
     
            int v = r.nextInt(100) + 1;  
            dos.writeInt(v);  
            System.out.println("Number " + i + ": " + v);  
              
            // 更新和与最大值  
            sum += v;  
            if (v > max) {
   
     
                max = v;  
            }  
        }   
        // 计算平均值  
        double average = (double) sum / 10;  
        // 输出结果  
        System.out.println("Sum: " + sum);  
        System.out.println("Average: " + average);  
        System.out.println("Max: " + max);  
        dos.close();  
    }  
}

题3:创建两个线程,每个线程打印:-1,-2,-3… -10

public class Ain extends Thread {
   
     
    @Override  
    public void run() {
   
     
        for (int i = 0; i < 10; i++) {
   
      
            System.out.println("-" + i + "--" + getName());  
        }  
    }  
}  
  
public class TestThread {
   
     
    public static void main(String[] args) {
   
     
        new Ain().start();   
        new Ain().start();  
    }  
}

题4:数位分解

public class NumberExtractor {
   
     
    public static void main(String[] args) {
   
     
        int number = 1234; // 假设我们要处理的数字是1234  
  
        // 抽取个位数字  
        int ones = number % 10;  
        System.out.println("个位数字: " + ones); // 输出: 个位数字: 4  
  
        // 抽取十位数字  
        int tens = (number / 10) % 10;  
        System.out.println("十位数字: " + tens); // 输出: 十位数字: 2  
  
        // 如果数字小于100,则百位为0  
        // 但为了完整性,我们仍然可以抽取(对于大于或等于100的数字)  
        int hundreds = (number / 100) % 10;  
        System.out.println("百位数字: " + hundreds); // 输出: 百位数字: 1  
  
        // 如果需要处理千位或更大的数字,可以继续使用类似的方法  
    }  
}

题5:奇偶数判断

import java.util.Scanner;  
  
public class OddOrEvenChecker{
   
   
    public static void main(String[] args){
   
   
        Scanner scn = new Scanner(System.in);
        int i = scn.nextInt();
         // 判断整数是奇数还是偶数  
        if (number % 2 == 0) {
   
     
            System.out.println(number + " 是偶数。");  
        } else {
   
     
            System.out.println(number + " 是奇数。");  
        }  
        // 关闭Scanner对象  
        scanner.close();  
    }
}

题6:使用递归实现如下的方法:

s(n)=s(n-1)+n 当n>0时

s(0)=0 当n=0时

程序设计要求:

1)设计实现递归方法,完成s(n)的功能。

2)在public static void main(String[] args)方法中,通过Scanner类读入一个整数值,如:100,然后通过调用1)定义的递归方法,向这个方法传入刚

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值