黑马程序员技术交流社区
标题: 今天的考试题,求解答 [打印本页]
作者: 814506914 时间: 2016-6-1 22:02
标题: 今天的考试题,求解答
现有一串字符串 ”上海传智播客,上海黑马,武汉传智播客,深圳黑马,北京传智播客,广州黑马,北京黑马” ,要求使用程序统计出”传智播客”和”黑马”在该字符串中出现的次数,然后按照指定格式输出到当前项目下的times.txt中
作者: hero_king 时间: 2016-6-1 22:04
你是没有思路呢还是这部分内容还没学呢?
作者: 18611643318 时间: 2016-6-1 22:56
本帖最后由 18611643318 于 2016-6-1 23:01 编辑
- package cn.itcast.test;
- import java.io.File;
- import java.io.FileOutputStream;
- import java.io.IOException;
- /**
- * 现有一串字符串 ”上海传智播客,上海黑马,武汉传智播客,深圳黑马,北京传智播客,广州黑马,北京黑马” ,
- * 要求使用程序统计出”传智播客”和”黑马”在该字符串中出现的次数,然后按照指定格式输出到当前项目下的times.txt中
- *
- *
- * @author Venus
- *
- */
- public class Test2 {
- public static void main(String[] args) {
- //字符串,定义大串,小串
- String str = "上海传智播客,上海黑马,武汉传智播客,深圳黑马,北京传智播客,广州黑马,北京黑马";
- String czbk = "传智播客";
- String hm = "黑马";
- //调用方法传参czbk
- int i = method(str, czbk);
- //调用方法传参hm
- int j = method(str, hm);
- String czbks = czbk+"\t在"+str+"中出现\t"+i+"次";
- String hms = hm+"\t在"+str+"中出现\t"+j+"次";
- System.out.println(czbks);
- System.out.println(hms);
- String finalstr = czbks+"\r\n"+hms+"\r\n";
- //调用write方法传参finalstr,写入文件
- write(finalstr);
- }
- public static int method(String str,String small){
- //定义计数器
- int count = 0;
- //索引初始值
- int index = 0;
- //index 等于 返回指定子字符串在此字符串中第一次出现处的索引。没有则返回-1
- while ((index = str.indexOf(small)) != -1) {
- count++;
- str = str.substring(index+small.length());
- }
- return count;
- }
- public static void write(String s){
- File file = new File("times.txt");
- FileOutputStream fos =null;
- try {
- fos = new FileOutputStream(file,true);
- fos.write(s.getBytes());
- } catch (Exception e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }finally {
- if(fos != null){
- try {
- fos.close(); //关闭流
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- }
- }
- }
复制代码
写得不好,凑活看吧.在java基础day12中,有在大串中找小串的视频及详细讲解.
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |