java基础题目

java基础题目

题目:

现有如下文本:“Java语言是面向对象的,Java语言是健壮的,Java语言是安全的,Java是高性能的,Java语言是跨平台的”。请编写程序,统计该文本中"Java"一词出现的次数。

想法:

从左至右依次查找,将已查找的部分截取掉。

方法:

查找参数字符串str在调用方法的字符串中第一次出现的索引,如果不存在,返回-1

public int indexOf(String str)

截取字符串,从索引beginIndex(包含)开始到字符串的结尾

   public String substring(int beginIndex)

代码:

 1 public static void main(String[] args) {
 2 // 8、在主方法中,定义字符串表示题目中的文本,定义字符串表示要查找的子串,调用方法,获取结果。
 3         String s = "Java语言是面向对象的,Java语言是健壮的," +
 4                 "Java语言是安全的,Java是高性能的,Java语言是跨平台的";
 5 //方法一:
 6         String b = "Java";
 7         System.out.println(search(s, b));
 8 //方法二:(简便算法)
 9 //将java字符串用空字符串替换,然后计算前后长度,除以替换长度,得到个数
10         String javaNew = s.replace("Java", "");
11         System.out.println(javaNew.toString());
12         System.out.println((s.length()-javaNew.length())/b.length());
13     }
14 
15 // 1、定义方法,返回值int表示次数,参数列表两个字符串,
16 // 第一个表示在哪个字符串中查找,第二个表示要查找的目标子串
17     public static int search(String s, String b) {
18 //2、定义统计变量表示次数。
19         int count = 0;
20 //3、定义索引变量,表示每次找到子串出现的索引。
21         int index = 0;
22 //4、定义循环,判断条件为在字符串中找到了目标子串,使用indexOf实现。
23         while ((index = s.indexOf(b)) != -1) {
24 // 5、如果找到的索引不是-1,在循环中,统计变量累加。
25             count++;
26 // 6、把查找过的部分剪切掉,从找到的索引+子串长度的位置开始截取,使用substring实现。
27            s= s.substring(index +b.length());
28         }
29 //7、将次数返回
30         return count;
31     }    

你可能感兴趣的:(java基础题目)