在线求一个java小算法

开门大吉送吉祥 2009-08-05 02:37:08
字符串:801;959;960;801;959;960;962

将里面重复的数字去掉,在线等,谢谢各位大侠。。
...全文
186 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
roma505 2009-08-06
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 zhuzhusany 的回复:]
Java code
StringBuilder result=new StringBuilder();
String str="801;959;960;801;959;960;962";
String[] strArr= str.split(";");
List<String> list=new ArrayList<String>()¡­
[/Quote]


GOOD
java1109 2009-08-05
  • 打赏
  • 举报
回复
StringBuilder以前很少见到,学习了
bigbug9002 2009-08-05
  • 打赏
  • 举报
回复
5楼的,用StringBuilder是非常棒的.
hui94781674 2009-08-05
  • 打赏
  • 举报
回复
重复发了,楼主。
hzq237 2009-08-05
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 bigbug9002 的回复:]
没有看清题:再来一个吧:
Java codeimport java.util.*;publicclass Test1{publicstaticvoid main(String[] args){
String str="801;959;960;801;959;960;962";
String result=removeRepeated(str);
System.out.println(result);

}publicstatic String removeRepeated(String str){
String[] strs=str.split(";");
String result="";
HashSet<String> hs=new HashSet<String>();for(String s:strs){if(!hs.contains(s)){
result+=s+";";
hs.add(s);
}
}return result.substring(0,result.length()-1);
}

}
[/Quote]

这个好!
vaser 2009-08-05
  • 打赏
  • 举报
回复

String str1 = "801;959;960;801;959;960;962";
String[] str2 = str1.split(";");
java.util.Set set = new java.util.HashSet();
for(int j=0;j<str2.length;j++){
set.add(str2[j]);
}
System.out.println(set.toString().replaceAll("\\[(.*)\\]","$1").replace(',', ';'));


输出结果:960;801;962;959
zhuzhusany 2009-08-05
  • 打赏
  • 举报
回复

StringBuilder result = new StringBuilder();
String str = "801;959;960;801;959;960;962";
String[] strArr = str.split(";");
List<String> list = new ArrayList<String>();
for(String aStr : strArr) {
if(!list.contains(aStr)) {
list.add(aStr);
}
}
for(String c : list) {
result.append(c);
result.append(";");
}
result.deleteCharAt(result.length() - 1);
System.out.println(result);
gukuitian 2009-08-05
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 gukuitian 的回复:]
Java codepublicstaticvoid main(String args[])
{
Set set=new HashSet();
String str="801;959;960;801;959;960;962";

String[] a=str.split(";");for(int i=0;i<a.length¡­
[/Quote]
切成数组,往set里一放,自动去重复
gukuitian 2009-08-05
  • 打赏
  • 举报
回复

public static void main(String args[])
{
Set set=new HashSet();
String str="801;959;960;801;959;960;962";

String[] a=str.split(";");
for(int i=0;i<a.length;i++)
{
set.add(a[i]);
}
System.out.print(set.toString());
}
bigbug9002 2009-08-05
  • 打赏
  • 举报
回复
没有看清题:再来一个吧:
import java.util.*;
public class Test1{
public static void main(String[] args){
String str="801;959;960;801;959;960;962";
String result=removeRepeated(str);
System.out.println(result);

}
public static String removeRepeated(String str){
String[] strs=str.split(";");
String result="";
HashSet<String> hs=new HashSet<String>();
for(String s:strs){
if(!hs.contains(s)){
result+=s+";";
hs.add(s);
}
}
return result.substring(0,result.length()-1);
}

}
bigbug9002 2009-08-05
  • 打赏
  • 举报
回复
import java.util.*;
public class Test1{
public static void main(String[] args){
int[] arr={801,959,960,801,959,960,962};
arr=removeRepeated(arr);
System.out.println(Arrays.toString(arr));

}
public static int[] removeRepeated(int[] arr){
HashSet<Integer> set=new HashSet<Integer>();
for(int i:arr){
set.add(i);
}
int[] newarr=new int[set.size()];
int index=0;
for(Integer i:set){
newarr[index++]=0+i;
}
return newarr;
}

62,634

社区成员

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

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