用java编写任意输入一行字符串。将原字符串中的重复字符删除后输出,同时输出有哪些字符是重复的。
题目描述任意输入一行字符串,检索重复出现的字符。将原字符串中的重复字符删除后输出,同时输出有哪些字符是重复的。输入要求输出要求假如输入ads_fagaerididfhdu...
题目描述
任意输入一行字符串,检索重复出现的字符。将原字符串中的重复字符删除后输出,同时输出有哪些字符是重复的。
输入要求
输出要求
假如输入
ads_fagaerididfhdus_afiew
应当输出
ads_fgeridhuw
ads_fei 展开
任意输入一行字符串,检索重复出现的字符。将原字符串中的重复字符删除后输出,同时输出有哪些字符是重复的。
输入要求
输出要求
假如输入
ads_fagaerididfhdus_afiew
应当输出
ads_fgeridhuw
ads_fei 展开
展开全部
用LinkedHashSet就可以做到了..它是有序不重复的集合.
public static void main(String[] args) {
String s = "ads_fagaerididfhdus_afiew";
LinkedHashSet noRepeatSet = new LinkedHashSet();
LinkedHashSet repeatSet = new LinkedHashSet();
for (int i = 0; i < s.length(); i++) {
char a = s.charAt(i);
if (!noRepeatSet.add(a)) {
repeatSet.add(a);
}
}
System.out.println(noRepeatSet.toString());
System.out.println(repeatSet.toString());
}
更多追问追答
追答
这个...结果都出来了..你遍历一下这个set不就行了么....我只是简单的打印一下结果给你看而已..
而且你"应当输出"里面第二行结果是错误的.
i的重复是在s的重复之前的.
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
package zhidao;
import java.util.ArrayList;
import java.util.List;
public class Ex4_9
{
public static void main ( String args[] )
{
ArrayList<Character> dumple = new ArrayList<Character> ();
System.out.println (filterDumpleWords ("ads_fagaerididfhdus_afiew", dumple));
System.out.println (dumple.toString ().replaceAll ("[\\[\\],\\s]", ""));
}
private static String filterDumpleWords ( String words, List<Character> dumple )
{
if (words.isEmpty ())
{
return words;
}
char c = words.charAt (0);
String temp = words.isEmpty () ? words : words.substring (1);
if (temp.indexOf (c) != -1)
{
dumple.add (c);
temp = temp.replaceAll (c + "", "");
}
return c + filterDumpleWords (temp, dumple);
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询