用java编写任意输入一行字符串。将原字符串中的重复字符删除后输出,同时输出有哪些字符是重复的。

题目描述任意输入一行字符串,检索重复出现的字符。将原字符串中的重复字符删除后输出,同时输出有哪些字符是重复的。输入要求输出要求假如输入ads_fagaerididfhdu... 题目描述

任意输入一行字符串,检索重复出现的字符。将原字符串中的重复字符删除后输出,同时输出有哪些字符是重复的。
输入要求
输出要求
假如输入
ads_fagaerididfhdus_afiew

应当输出
ads_fgeridhuw

ads_fei
展开
 我来答
xubingok
2014-04-23 · TA获得超过987个赞
知道小有建树答主
回答量:1169
采纳率:0%
帮助的人:1002万
展开全部

用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的重复之前的.
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yugi111
2014-04-23 · TA获得超过8.1万个赞
知道大有可为答主
回答量:5.1万
采纳率:70%
帮助的人:1.3亿
展开全部
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);
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式