输入一个文件名和一个字符串,统计字符串在文件名中出现的次数

是Java题目 拿java做、急用

//文件名 不能出现空格,以下是我编译通过的关于这道题JAVA源代码,顺便问1下,这是个面试题么?
package com.mypro.test;
import java.util.Scanner;
public class Test {
// 输入一个文件名和一个字符串,统计字符串在文件名中出现的次数
private int count = -1;

/**
* 统计方法
* @param fileName 输入文件名
* @param subStr 输入的字符串
* @return count 统计个数;count =-1 表示文件或输入字符串为空;
* count=0 表示文件名中不包含输入的字符串;count>0 表示包含输入的字符串
*/
public int countSubStr(String fileName, String subStr) {
if ((fileName != null && !fileName.equals("")) && subStr != null
&& !subStr.equals("")) {
if (fileName.indexOf(subStr) != -1) {
count = 0;
countResult(fileName, subStr);
return count;
} else {
count = 0;
return count;
}
} else {
return count;
}
}

/**
* 具体统计实现
* @param srcStr 源字符串
* @param distStr 目标子字符串
* @return 返回源字符串除去第1次出现的子串之后的余下部分;
*/
private String countResult(String srcStr, String distStr) {
if (srcStr.indexOf(distStr) != -1) {
count++;
String tempStr = srcStr.substring(srcStr.indexOf(distStr)
+ distStr.length());
countResult(tempStr, distStr);
}
return "";
}

/**
* @param args
*/
public static void main(String[] args) {
Test test = new Test();
Scanner scanner = new Scanner(System.in);
System.out.println("请输入文件名:");
String fileName = scanner.next();
System.out.println("输入字符串:");
String subStr = scanner.next();
System.out.println("你输入的字符串在文件名的中的次数:");
test.countSubStr(fileName, subStr);
System.out.println(test.count);
}
}
温馨提示:答案为网友推荐,仅供参考
相似回答