Java经典编程题50道之四十九

计算某字符串中子串出现的次数。

public class Example49 {
    public static void main(String[] args) {
        String s1 = "adcdcjncfb";
        String s2 = "";
        count(s1, s2);
    }

public static void count(String str1, String str2) {
        int count = 0;
        if (str1.equals("") || str2.equals("")) {
            System.out.println("你没有输入字符串或子串,无法比较!");
            //System.exit(0);
        } else {
            for (int i = 0; i <= str1.length() - str2.length(); i++) {
                if (str2.equals(str1.substring(i, str2.length() + i)))
                    count++;
            }
            System.out.println("子串" + str2 + "在字符串" + str1 + "中出现了: " + count
                    + " 次。");
        }
    }
}

时间: 2024-12-24 10:26:05

Java经典编程题50道之四十九的相关文章

Java经典编程题50道之四十六

编程实现两个字符串的连接. public class Example46 {    public static void main(String[] args) {        addString("hello"," world!");    }    public static void addString(String s1,String s2){        String s3=s1+s2;        System.out.println("

Java经典编程题50道之四十

将几个字符串排序(按英文字母的顺序). public class Example40 {    public static void main(String[] args) {        String[] s={"math","english","java","java web","rose"};        stringSort(s);    } public static void stringS

Java经典编程题50道之四十八

某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下: 每位数字都加上5,然后用和除以10的余数代替该数字, 再将第一位和第四位交换,第二位和第三位交换. public class Example48 {    public static void main(String[] args) {        f(2345);    } public static void f(int num) {        int[] c = new int[4];      

Java经典编程题50道之四十二

809*??=800*??+9*??+1,其中??代表的两位数,8*??的结果为两位数,9*??的结果为3位数.求??代表的两位数,以及809*??后的结果. public class Example42 {    public static void main(String[] args) {        f();    } public static void f() {        int a = 809, b, i;        for (i = 10; i < 13; i++)

Java经典编程题50道之四十五

判断一个整数能被几个9整除. public class Example45 {    public static void main(String[] args) {        f(729);    } public static void f(int n) {        int tmp = n;        int count = 0;        for (int i = 0; tmp % 9 == 0;) {            tmp = tmp / 9;         

Java经典编程题50道之四十四

求0~7所能组成的奇数个数.分析:组成1位数是4个,组成2位数是7*4个,组成3位数是7*8*4个,组成4位数是7*8*8*4个…… public class Example44 {    public static void main(String[] args) {        f();    } public static void f() {        int sum = 4;        int j;        System.out.println("组成1位数是 &quo

Java经典编程题50道之十九

打印出如下图案(菱形)        *      ***    ******  ********    ******      ***        * public class Example19 {    public static void main(String[] args) {        display(5);    } public static void display(int h) {        for (int i = 0; i < (h + 1) / 2; i++

Java经典编程题50道之三十九

写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度. public class Example39 {    public static void main(String[] args) {        length("Hello World!");    } public static void length(String s) {        int n = s.length();        System.out.println("输入的字符

Java经典编程题50道之五十

有五个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩),计算出平均成绩,况原有的数据和计算出的平均分数存放在磁盘文件 "stud"中. public class Example50 {    public static void main(String[] args) {        stud();    } public static void stud() {        Scanner ss = new Scanner(System.in);