9个回答
展开全部
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();
}
}
运行截图:
希望能帮助你哈
追问
您好 我现在有一个新问题了 就是有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;
}
运行结果:
2017-07-04 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
关注
展开全部
java去掉字符串中重复的字符参考代码:
//获取差集
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;
}
效果图如下:
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2015-02-08 · 知道合伙人影视综艺行家
关注
展开全部
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();
}
}
这个就是一个比较简单的算法题 , 你可以自己写
但是用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();
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
lz 你好
这个就是一个比较简单的算法题 , 你可以自己写
但是用Java语言就不需要了 , Java自带泛型相关的类 , 很有用
其中TreeSet集合能自动识别添加的是否重复 , 重复的将不会添加 , 很方便
以下是实现代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
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();
}
}
这个就是一个比较简单的算法题 , 你可以自己写
但是用Java语言就不需要了 , Java自带泛型相关的类 , 很有用
其中TreeSet集合能自动识别添加的是否重复 , 重复的将不会添加 , 很方便
以下是实现代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
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();
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
放到set集合里面,set集合自动帮你去重!放完读出就好。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询