站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2SE 专题方正的面试题目

方正的面试题目

摘要: 方正的面试题目


输入:一个文件,一个特征字符串
输出:这个特征字符串在文件中出现的次数


使用正则表达式


可以用一个循环嵌套来累加一个计数器,如:
int count=0; //计数器
String arg; //文章
String str; //特征字符串
String temp; //arg的一部分
public int getCount(String arg,String str){
if(arg.indexOf(str)-#62;0){
count++;

temp = arg.subString(arg.indexOf(str),arg.length());

getCount(temp,str);
}
}
我没有运行过,但思想是这样的,当然这只是其中一种,
大家会给更多的实现方法给你的。


将文章中的所有特征字符串替换为空
然后用原文章的长度减去替换后的文章的长度除以特征字符串的长度就是
int count=0; //计数器
String arg; //文章
String str; //特征字符串
String temp; //arg的一部分
public int getCount(String arg,String str){
temp = arg.replaceAll(str,-#34;-#34;);
count = (arg.length()-temp.length())/str.length();
}



什么是正则表达式?


sunshine5246(阳光) 的方法比较简洁易懂


split(-#34;regex-#34;)


split(-#34;regex-#34;).length-1



其实方法很多啦,.个人感觉sunshine5246(阳光)这个不错
我也做了一个
源程序如下:
class Test
{
public static void main(String[] args)
{
Find str=new Find(-#34;1111112323232323232323-#34;,-#34;232-#34;);
str.count();
}
}
class Find
{
String ss;
String reg;
public Find(String ss,String reg)
{
this.ss=ss;
this.reg=reg;
}
public void count()
{
int i=0;
int j=0;
int n=ss.indexOf(reg);
// System.out.println(-#34;count n1 is:-#34;+n);
while( n!=-1-#38;-#38;j!=-1)
{

j=ss.indexOf(reg,reg.length()+n+j);
i++;
n=0;
}
System.out.println(reg+-#34;-#39;s count is:-#34;+i);

}
}


我觉得考察的是对JAVA String类的熟悉程度那方法确实很多,要我做肯定是用一行解决的那个
如果作为数据结构与算法考察,那就用串匹配经典算法自己写一个,保证最高效率


kao ,代码太多了,天天学傻了
class Test
{
public staticvoid count(String ss,String reg)
{
int i=0;
int j=0;
int n=ss.indexOf(reg);
//System.out.println(-#34;count n1 is:-#34;+n);
while( n!=-1-#38;-#38;j!=-1)
{
j=ss.indexOf(reg,reg.length()+n+j);
i++;
n=0;
}
System.out.println(reg+-#34;-#39;s count is:-#34;+i);

}
public static void main(String[] args)
{
count(-#34;1111112323232323232323-#34;,-#34;32-#34;);
}
}


哈哈,忘了写返回了,改过后的:
可以用一个循环嵌套来累加一个计数器,如:
int count=0; //计数器
String arg; //文章
String str; //特征字符串
String temp; //arg的一部分
public int getCount(String arg,String str){
if(arg.indexOf(str)-#62;0){
count++;

temp = arg.subString(arg.indexOf(str),arg.length());

getCount(temp,str);
}else{
return count;
}
}



STUDY


↑返回目录
前一篇: 请高手看一下这段代码
后一篇: 请问哪位大虾能解答一下:String字符串相加的问题