0
我今天寫了這段代碼來檢查字符串中每個字符的頻率。它運行得非常緩慢。我怎樣才能改進這個代碼?改善字符串中字符的代碼檢查頻率
import java.util.*;
public class checkFreq {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
// Input
System.out.print("Enter a string: ");
String input = s.nextLine();
long t1 = System.currentTimeMillis();
// Convert input to UpperCase
String tmp = input.toUpperCase();
// String to compare
String alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
int aleng = alphabet.length();
for (int l = 0; l < aleng; l++) {
//Run 26 times
int count = 0;
int i = 0;
String tmp2;
while (i < tmp.length() - 1) {
tmp2 = tmp.substring(i, i + 1);
int exist = tmp2.indexOf(alphabet.charAt(l));
if (exist != -1) {
count++;
}
i++;
}//End while
if (count != 0) {
System.out.print(alphabet.charAt(l) + "(" + count + ") ");
}//End if
}// End for
System.out.println();
long t2 = System.currentTimeMillis();
// Count time of process
System.out.println("Time : " + (t2 - t1) + "ms");
}
}
重複的[快捷的方式找到一個字符的頻率在Java中的字符串](http://stackoverflow.com/questions/6215486 /有效的方式查找頻率的字符在一個字符串在java中) – Paul 2012-01-31 03:30:43
@HotLicks ...「呃」?這並不酷。這個人是新來的,有一個問題......不需要取笑那個人。 – Paul 2012-01-31 03:49:05
我開始在一週內學習Java。所以我希望有人幫助找出更有效的方法。 – HNQ 2012-01-31 08:51:20