java简单实例

1、有一对兔子,每三个月生一对兔子,每对小兔子长到三个月之后开始生兔子,问20个月之后一共有多少对兔子(假设没有兔子死),用递归算法实现。

public class DiGui {
public static void main(String[] args){
int sum=0;
for(int i=1;i<=20;i++){
sum=f(i);
}
System.out.println(sum);
}


public static int f(int n){
if(n==1||n==2){
return 1;
}else{
return f(n-2)+f(n-1);
}
}
}

2、定义一个数组,比如:int[] arr = {13,24,57,69,80}使用二分查找查找这个数组中的24元素对应的索引

public class ErFenChaZhao {
public static void main(String[] args){
int[] src = new int[] {13,24,57,69,80};   
     System.out.println(binarySearch(src,69));  
 }  


 
public static int binarySearch(int[] srcArray, int des){   
   
     int low = 0;   
     int high = srcArray.length-1;   
     while(low <= high) {   
         int middle = (low + high)/2;   
         if(des == srcArray[middle]) {   
             return middle;   
         }else if(des <srcArray[middle]) {   
             high = middle - 1;   
         }else {   
             low = middle + 1;   
         }  
     }  
     return -1;  
}  

}

3、统计大串中小串出现的次数
举例:在字符串” woaijavawozhenaijavawozhendeaijavawozhendehenaijavaxinbuxinwoaijavagun”中java出
现了5次

package threehomework;
import java.util.Scanner;
public class XunZhaoZFC {
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
System.out.println("请输入一行字符串:");
String str=sc.nextLine();
int num;
System.out.println("请输入指定字符串:");
String str1=sc.nextLine();
num=tongji(str,str1);
System.out.println("num:"+num);
}




public static int tongji(String strr1,String strr2){
char[] ch1=strr1.toCharArray();
char[] ch2=strr2.toCharArray();
int num1=0;
for(int x=0;x<ch1.length;x++){
if(ch1[x]==ch2[0]){
int a=0;
   for(int i=1,j=x+1;i<ch2.length;i++,j++){
    if(ch1[j]==ch2[i]){
    a++;
    x=j-1;
    }else break;
   
   if(a==ch2.length-1){
    num1++;
   }
}

}
return num1;
}


}

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
socket实现文件传输的java简单例子如下: 1. 服务器端代码: ``` import java.io.*; import java.net.*; public class Server { public static void main(String[] args) { try { ServerSocket serverSocket = new ServerSocket(8888); // 创建服务器套接字,监听端口8888 System.out.println("服务器启动,等待客户端连接..."); Socket socket = serverSocket.accept(); // 等待客户端连接 System.out.println("客户端已连接:" + socket.getInetAddress()); InputStream is = socket.getInputStream(); FileOutputStream fos = new FileOutputStream("D:/file.txt"); // 接收的文件保存路径 byte[] buffer = new byte[1024]; int len; while ((len = is.read(buffer)) != -1) { fos.write(buffer, 0, len); } fos.flush(); fos.close(); is.close(); socket.close(); serverSocket.close(); } catch (IOException e) { e.printStackTrace(); } } } ``` 2. 客户端代码: ``` import java.io.*; import java.net.*; public class Client { public static void main(String[] args) { try { Socket socket = new Socket("127.0.0.1", 8888); // 连接服务器 System.out.println("已连接服务器:" + socket.getInetAddress()); OutputStream os = socket.getOutputStream(); FileInputStream fis = new FileInputStream("D:/file.txt"); // 发送的文件路径 byte[] buffer = new byte[1024]; int len; while ((len = fis.read(buffer)) != -1) { os.write(buffer, 0, len); } os.flush(); fis.close(); os.close(); socket.close(); } catch (IOException e) { e.printStackTrace(); } } } ``` 以上就是一个使用socket实现的简单的文件传输的java例子。服务器端监听8888端口,等待客户端连接,接收客户端发送的文件并保存到指定路径;客户端连接服务器,发送指定的文件给服务器端。通过这两个类的配合,即可实现文件在服务器和客户端之间的传输。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值