Java 找位置算法

题目描述

对给定的一个字符串,找出有重复的字符,并给出其位置,如:abcaaAB12ab12 输出:a,1;a,4;a,5;a,10,b,2;b,11,1,8;1,12, 2,9;2,13。

输入包括一个由字母和数字组成的字符串,其长度不超过100。

核心代码:public void find(String a)

{

char[] b=new char[a.length()];

b=a.toCharArray();    //将a的值赋给字符数组b

for(int i=0;i

if(b[i]!='*'){

boolean first=true;     //设置一个标识符,表示该字符是否是第一次访问

for(int j=I+1;j

if(b[I]==b[j])   //当找到重复字符时

if(first)       //如果是第一次访问该字符

{

System.out.print(""+b[i]+':'+i+',');

System.out.print(""+b[j]+':'+j);

b[j]='*';   //访问过的字符就设为  *,避免再次访问

first=false;    //将标识符设为false

}else{}

System.out.print(""+','+b[j]+':'+j);

b[j]='*';

}

}}

b[i]='*';

if(!first)

System.out.println();

}}}}

你可能感兴趣的:(Java 找位置算法)