1.有一对兔子,每三个月生一对兔子,每对小兔子长到三个月之后开始生兔子,问12个月之后一共有多少对兔子(假设没有兔子死),用递归算法实现。
package homework;
public class Rabbit {
public static void main(String[] args) {
for(int i = 1;i<=20;i++){
int sum = birth(i);
System.out.println(i+"月有"+sum+"对兔子");
}
}
public static int birth(int month){
int num;
if(month == 1 || month == 2){
num = 1;
}else if(month == 3){
num = birth(month-1)+birth(month-2);
}else if(month>=4){
num=birth(month-1)+birth(month-3);
}else{
num=-1;
}
return num;
}
}
2.统计大串中小串出现的次数.
package homework;
import java.util.Scanner;
public class Demo1 {
public static void main(String[] args){
System.out.println("请输入一个大串:");
Scanner sc1=new Scanner(System.in);
String bigline=sc1.nextLine();
System.out.println("请输入一个小串:");
Scanner sc2=new Scanner(System.in);
String smallline=sc2.nextLine();
int count=0;
int x=smallline.length();
for(int i=0;i<bigline.length()-x+1;i++){
String big1=bigline.substring(i,x+i);
if(smallline.compareTo(big1)==0){
count++;
}
}
System.out.println("在字符串"+bigline+"中,"+smallline+"出现了"+count+"次");
}
}