- 论坛徽章:
- 0
|
字符串转换的问题
map还没用过,我再看看!非常谢谢两位了!要解决中文和英文混合在一起的问题,现在中文还没有解决。我这里有个中文的解决方法,不过我对一些东西不是很懂?- import java.io.*;
- import java.lang.String;
- import java.util.StringTokenizer;
- import java.util.Vector;
- public class demoSumCn
- {
- public static String preSplit(String src)throws IOException
- {
- int i=0;
- for (i=0; i<src.length(); i++)
- {
-
- if (src.charAt(i) == 12290 || ((src.charAt(i)>;8208) && (src.charAt(i)<8223)) || ((src.charAt(i)>;65280) && (src.charAt(i)<65311)))
- {
- src = src.replace(src.charAt(i), '?');
- }
- }
- return src;
- }
-
- public static void main(String args[])throws IOException
- {
- BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
- String str = reader.readLine();
- String newstr = preSplit(str);
- char rs[][] = new char[2][100];//
- int i=1, j, k;
- boolean find = false;
-
- char t;
-
- for (k=0; k<100; k++)
- {
- rs[0][k] = '?';
- rs[1][k] = '0';
- }
- rs[0][0] = newstr.charAt(0);
- rs[1][0] = '1';
-
-
- for (k=1; k<newstr.length(); k++)
- {
- t = newstr.charAt(k);
- for(j=0; j<i; j++)
- {
- if (rs[0][j] == t)
- {
- rs[1][j] = (char)(rs[1][j]+1);
- find = true;
- break;
- }
- }
- if (!find)
- {
- rs[0][j] = t;
- rs[1][j] = '1';
- i=i+1;
- }
- find = false;
- }
-
- for (j=0; j<100; j++)
- if (rs[0][j] != '?')System.out.println(rs[0][j]+"("+rs[1][j]+")");
- }
复制代码 |
|