io流相关作业

本文通过一系列Java编程实例,详细介绍了IO流的使用,包括文件的创建、读写、复制、删除及目录操作。同时,文章结合斐波那契数列和汉诺塔等经典递归问题,探讨了递归算法的实现和应用。此外,还涉及二分查找算法的实现,展示了在实际问题中的应用。
摘要由CSDN通过智能技术生成

1.一般而言,兔子在出生两个月后,就有繁殖能力,一对兔子每个月能生出一对小兔子来。如果所有兔都不死,那么一年以后可以繁殖多少对兔子? 通过递归和循环来解决这个问题
   提示:
我们不妨拿新出生的一对小兔子分析一下: 
第一个月小兔子没有繁殖能力,所以还是一对; 
两个月后,生下一对小兔民数共有两对; 
三个月以后,老兔子又生下一对,因为小兔子还没有繁殖能力,所以一共是三对; 
package recursion;

public class Fibonaccisequence {
    /**
     * 斐波那契数列
     * @param n
     * @return
     */
    public static int fibonacci(int n)
    {
        if(n==0||n==1)
            return 1;
        
        return fibonacci(n-1)+fibonacci(n-2);
    }
    public static void main(String[] args) {
        System.out.println(fibonacci(3));
    }

}

2.使用File,获得一个文件是否存在,如果不存在,则创建.如果存在,则显示这个文件的大小,路径,最后修改时间.
package ioStream;

import java.io.File;
import java.io.IOException;
import java.util.Date;

public class class02 {

    public static void main(String[] args) {
    File file=new File("D:\\新建文件夹 (2)\\3.txt");
    if(!file.exists())
    {
        try {
            file.createNewFile();
        } catch (IOException e) {
            e.printStackTrace();
        }
        
    }
    else
    {
        System.out.println("该文件的大小为:"+file.length());
        System.out.println("该文件的的路径为:"+file.getAbsolutePath());
        System.out.println("该文件的最后修改时间为:"+new Date(file.lastModified()));
    }
    }

}

3.创建一个多层目录 "f:/java/java1/java2"
package ioStream;

import java.io.File;

public class class03 {

    public static void main(String[] args) {
        
        File file=new File("d://java//java1//java2");
    System.out.println(file.mkdirs());    
    }

}

4.File类,自学createTempFile方法的使用,在一个目录中,创建500个临时文件;
 package ioStream;

import java.io.File;
import java.io.IOException;

public class class04 {

    public static void main(String[] args) {

        File file =new File ("D:\\新建文件夹 (2)\\liyifeng");
        for(int i=0;i<500;i++)
        {
            try {
                file.createTempFile("aaa", ".txt", file);
            } catch (IOException e) {
                System.out.println("文件创建失败!!!");
            }
        }
        
        
    }

}

//二分法查找  [1,3,4,5,7,8,9,23,45]
package recursion;

public class binarysearch {
//    public static int search(int[] a,int low,int high,int m){  
//          
//        if(low>high){  
//        return -1;  
//        }  
//          
//        int mid=(low+high)/2;  
//          
//        if(m==a[mid]){  
//        return mid;  
//        }  
//        else if(m<a[mid]){  
//        return search(a,low,mid-1,m);  
//        }  
//        else{  
//        return search(a,mid+1,high,m);  
//        }  
//        }  
    public static int binnary(int[] a,int start,int end,int values)
    {            
        if(start>end)
        {
            return -1;
        }
         int mid=(start+end)/2;    
        if(values<a[mid])
        {
          
        return  binnary(a, start, mid-1, values);
        }else if(a[mid]<values)
        {
        return binnary(a, mid+1, end, values);
            
        }else 
        {
            return mid;
            
            
        }
    
        

        
        
        
    
        
    }
    public static void  main(String[] args) {
        int [] a= {1,3,6,8,9,20,33};
        System.out.println(binnary(a,0,a.length-1,8));
        
        
    }

}


//汉诺塔;
package ioStream;

public class TowerOfHanoi {
    public static void hanoi(int n,String A,String B,String C)
    {
        if(n==1)
        {
            System.out.println("move"+n+": "+A+"-->"+C);
        }else
        {
            hanoi(n-1,A,C,B);//首先将上面的(n-1)个盘子从A杆借助C杆移至B杆
            System.out.println("move"+n+": "+A+"-->"+C);//然后将编号为n的盘子从A杆移至C杆  
            hanoi(n-1,B,A,C

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值