谁帮我写一个简单代码?判断字符串出现了几次 读一个文件过来 然后看里面某个字符串出现了几次?就这么简单 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 把这个文件读取到一个字符串数组中 可以吧?然后就把这个字符串数组连接成一个整个的字符串 然后replaceAll来替换 然后统计之前的字符串长度为m 替换后的字符串长度为n 被替换的字符串长度为k 那么找出(m-n)/k的最大值 就是对应那个字符串出现的最多 周末感冒了 哎 头疼啊 给他贴个简单的 没有读文件的代码import java.util.*;public class FindMostInArray { public static void main(String args[]){ int[] intArray = {1,2,2,3,4,4,5,6,7,7,8,9}; List<Integer> list = new ArrayList<Integer> (); String str = ""; for(int i=0; i<intArray.length; i++){ str += String.valueOf(intArray[i]); } int MaxCount = 0; for(int i=0; i<intArray.length; i++){ String tempString = str.replaceAll(String.valueOf(intArray[i]), ""); int tempCount = str.length() - tempString.length(); if (tempCount > MaxCount){ list.clear(); list.add(intArray[i]); MaxCount = tempCount; } else if((tempCount == MaxCount) && (!list.contains(intArray[i]))){ list.add(intArray[i]); } } System.out.println("The most repeat number is: "+ MaxCount +"\nThe duplicated elements are: "+ list.toString()); }}运行结果是The most repeat number is: 2The duplicated elements are: [2, 4, 7] 其实用7楼说的Split是个好方法。但是如果你要查找的字符串很特殊的话,可能会出错。如“\” 提供简单思路和读取文件代码:将字符串按某个字符串的长度进行拆分,将其放到一个容器类中,然后遍历容器看是否有相同字符串。如果还写不出来的话,好好查查容器类吧。package TestReadFile;import java.io.BufferedReader;import java.io.FileReader;public class ReadFile { public static void main(String[] agrs){ try { readFile(); } catch (Exception e) { e.printStackTrace(); } } public static void readFile() throws Exception{ BufferedReader br = new BufferedReader(new FileReader("c:\\a.txt")); String s = br.readLine(); while(s != null){ System.out.println(s); s = br.readLine(); } br.close(); }} 我觉得你们的方法都太麻烦。这种方法比较简单。import java.util.regex.Matcher;import java.util.regex.Pattern;public class StringCount { public static void main(String[] args) { String str = "aacdefaabbbfaaxyzz"; //想求出aa在字符串中出现的次数 Pattern p = Pattern.compile("(aa)"); Matcher m = p.matcher(str); int count = 0; for(; m.find(); count++){} System.out.println(count); }} public class Test1 { public static void main(String[] args) { String str = "TabcAAAabcBBBababc"; int n = frequency(str, "abc"); System.out.println(n); } public static int frequency(String str, String find) { int freq = 0; int idx = str.indexOf(find, 0); int len = find.length(); while(idx > -1) { idx = str.indexOf(find, idx + len); freq++; } return freq; }} hey!那位大哥进来帮我看一下。 关于抛出异常 关于JBuilder Design生成代码的疑问 新手上路,有问题要问,希望多多关照, 刚学到GUI,有个地方不知道什么意思 万望解答 如何定位jb中的光标,我的光标总和字符的位置不相符。 jni一问? 请问null指的是什么?什么时候要用到呢?和数据库里的那个null一样意思吗? 请问Java高手。pgy 为何父类构造,子类构造都没有执行。问题在哪里,我新手找不出来,求大神解答? JDBC问题 字符串与基本数据类型的转换
import java.util.*;public class FindMostInArray {
public static void main(String args[]){
int[] intArray = {1,2,2,3,4,4,5,6,7,7,8,9};
List<Integer> list = new ArrayList<Integer> ();
String str = "";
for(int i=0; i<intArray.length; i++){
str += String.valueOf(intArray[i]);
} int MaxCount = 0;
for(int i=0; i<intArray.length; i++){
String tempString = str.replaceAll(String.valueOf(intArray[i]), "");
int tempCount = str.length() - tempString.length();
if (tempCount > MaxCount){
list.clear();
list.add(intArray[i]);
MaxCount = tempCount;
}
else if((tempCount == MaxCount) && (!list.contains(intArray[i]))){
list.add(intArray[i]);
}
}
System.out.println("The most repeat number is: "+ MaxCount +"\nThe duplicated elements are: "+ list.toString());
}
}运行结果是
The most repeat number is: 2
The duplicated elements are: [2, 4, 7]
package TestReadFile;import java.io.BufferedReader;
import java.io.FileReader;public class ReadFile {
public static void main(String[] agrs){
try {
readFile();
} catch (Exception e) {
e.printStackTrace();
}
}
public static void readFile() throws Exception{
BufferedReader br = new BufferedReader(new FileReader("c:\\a.txt"));
String s = br.readLine();
while(s != null){
System.out.println(s);
s = br.readLine();
}
br.close();
}
}
import java.util.regex.Matcher;
import java.util.regex.Pattern;public class StringCount { public static void main(String[] args) {
String str = "aacdefaabbbfaaxyzz"; //想求出aa在字符串中出现的次数
Pattern p = Pattern.compile("(aa)");
Matcher m = p.matcher(str);
int count = 0;
for(; m.find(); count++){}
System.out.println(count);
}
}
public static void main(String[] args) {
String str = "TabcAAAabcBBBababc";
int n = frequency(str, "abc");
System.out.println(n);
}
public static int frequency(String str, String find) {
int freq = 0;
int idx = str.indexOf(find, 0);
int len = find.length();
while(idx > -1) {
idx = str.indexOf(find, idx + len);
freq++;
}
return freq;
}
}