如何找出字符串中第一个不重复的字符?

notlogin 2007-11-30 10:32:21
比如说1234566543212374569,7和9是不重复的,要求运行结果为7,除了我写的下面的笨方法之外,还有什么好的方法么?

public class Test1 {
public static void main(String[] args) {
String str = "护,运行下面这个reg就又可以再激活30天,这样你想用多久都可以哈护,运行下面这个reg就又可以再激活30天,这样你想用多久都可以4";
while (str.length() >= 2) {
boolean k = false;
String str1 = str.substring(0, 1);
for (int i = 0; i < str.length() - 2; i++) {
String str2 = str.substring(i + 1, i + 2);
if (str1.equals(str2)) {
k = true;
str = str.replace(str1, "");
break;
}
}
if (k == false) {
System.out.println("It is " + str1);
break;
}
}
}
}
运行结果为:It is 哈
...全文
120 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Jecan 2007-11-30
  • 打赏
  • 举报
回复
public class test {
public static void main(String[] args) {
int flag = 0;
String str = "aabbccddxeeffyqq";
for (int i = 0; i < str.length(); i++) {
for (int j = 0; j < str.length(); j++) {
if (i != j) {
if (str.charAt(i) == str.charAt(j)) {
flag = 0;
break;
} else
flag = 1;
}
}
if (flag == 1)
System.out.print(str.charAt(i));
}
}
}
luffyday 2007-11-30
  • 打赏
  • 举报
回复
	public static void main(String[] args) {

String str = "1122334455A6677889900";

for (int i = 0; i < str.length(); i++) {
char st = str.charAt(i);
if (str.indexOf(st) == str.lastIndexOf(st)) {
System.out.println(st);
break;
}
}

}



62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧