字符串和子串-Java经典算法50题-49

    技术2022-07-12  70

    字符串和子串

    题目:计算字符串中子串出现的次数

    知识点: Java API–String类

    length(): 获取字符串的长度

    substring(): 返回字符串的子字符串 substring(beginIndex): 从第beginIndex个字符开始到最后,0,1,2,3,4 substring(beginIndex,endIndex): 实际输入的是beginIndex-endIndex-1的子串

    String.valueOf(xxx): 将括号里的内容转化为字符串格式

    equals(): equals比较的是引用类型的数据(若equals两端放基本数据类型,编译器将会报错,这也说明了基本数据类型并没有equals方法),分两种情况:首先,Object类中的equals方法比较的也是两个引用类型对象的内存地址是否一致;其次,对于String、Integer、Long等最终类,它们内部重写了equals方法,因此比较的是对象的值是否相同; 而基本数据类型int,double,long等用比较值是否相等;如果两端的变量指向的都是引用类型的对象,那么它比较的将是两端变量指向的对象地址是否相同

    contains(): 该方法是判断字符串中是否有子字符串。如果有则返回true,如果没有则返回false

    indexOf(): 使用 indexOf 会返回该字符串在某字符串中的索引值,如果不存在则返回 -1

    charAt(): charAt() 方法用于返回指定索引处的字符。索引范围为从 0 到 length() - 1 charAt(int index)

    代码: //计算字符串中子串出现的次数 import java.util.*; public class ZiFuChuan49 { public static void main(String[] args) { Scanner sc=new Scanner(System.in); String s1=sc.nextLine(); //子串 String s2=sc.nextLine(); //字符串 int count=0; if(s1.equals("")||s2.equals("")){ System.out.println("请输入正确的字符串和子串"); System.exit(0); } //if(s1.equals(s2.substring(i,i+s1.length()-1))) for(int i=0;i<=s2.length()-s1.length();i++) { if(s1.equals(s2.substring(i,i+s1.length()))) { count+=1; } } System.out.println(count); System.out.println(s1.length()); } }
    Processed: 0.014, SQL: 9