lz 你好
这个就是一个比较简单的算法题 , 你可以自己写
但是用Java语言就不需要了 , Java自带泛型相关的类 , 很有用
其中TreeSet集合能自动识别添加的是否重复 , 重复的将不会添加 , 很方便
以下是实现代码:
import java.util.List;
import java.util.Scanner;
public class DeleteRepeated {
private String str;
private TreeSet<String> noReapted;//带有String类型的TreeSet泛型
public DeleteRepeated() {
Scanner in = new Scanner(System.in);
System.out.println ("输入一个字符串:");
str = in.nextLine();
noReapted = new TreeSet();
}
//清楚重复的数据
public void removeRepeated(){
for (int i = 0; i < str.length(); i++){
noReapted.add(""+str.charAt(i));
//str.charAt(i)返回的是char型 所以先加一个""空格 , 转换成String型
//TreeSet泛型能保证重复的不加入 , 而且有序
}
str = "";
for(String index:noReapted){
str += index;
}
//输出
System.out.println (str);
}
public static void main(String[] args) {
DeleteRepeated dr = new DeleteRepeated();
dr.removeRepeated();
}
}
运行截图:
![](https://video.ask-data.xyz/img.php?b=https://iknow-pic.cdn.bcebos.com/a50f4bfbfbedab64ca92524ef636afc378311e5f?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_600%2Ch_800%2Climit_1%2Fquality%2Cq_85%2Fformat%2Cf_auto)
希望能帮助你哈
追问您好 我现在有一个新问题了 就是有2个字符串 1,2,3,4 还有一个是2,3 我应该如何得到1和4 呢
追答这个就自己写一个算法吧:
//获取差集
public String getDifferenceSet(){
String ds = "";//差集字符串
boolean isDifference=false;//是否相同
//如果one的长度小于two的长度 就交换one和two
if(one.length() < two.length()){
String str = one;
one = two;
two = str;
}
for (int i = 0; i < one.length(); i++){
for(int j = 0; j < two.length(); j++){
//如果相等 那么跳出循环
if(one.charAt(i) == two.charAt(j)){
isDifference=false;
break;
}
//否则继续判断
else{
isDifference=true;
}
}
//如果不相同 就加入到ds中
if(isDifference){
ds += "" + one.charAt(i);
isDifference = false;
}
}
return ds;
}
运行结果:
![](https://video.ask-data.xyz/img.php?b=https://iknow-pic.cdn.bcebos.com/91529822720e0cf32ea73d750b46f21fbf09aae8?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_600%2Ch_800%2Climit_1%2Fquality%2Cq_85%2Fformat%2Cf_auto)