您好,提问者:
怎么可以用Set呢,Map是无重复的,使用Map方便,下面是例子,您看下。
**/
import java.util.HashMap
import java.util.Map
public class Demo {
public static void main(String[] args) {
String[] str1 = { "A", "B" }
String[] str2 = { "A", "B" }
String[] str3 = { "A", "C" }
Map<String, String[]> map = new HashMap<String, String[]>()
map = setMap("str1",str1,map)
map = setMap("str2",str2,map)
map = setMap("str3",str3,map)
}
public static Map<String, String[]> setMap(String name, String[] arr,Map<String, String[]> map){
if(map.size() == 0){
map.put(name, arr)
}else{
for(int i = 0 i < arr.length i++){
for(String[] str : map.values()){
if(str[i] != arr[i]){
map.put(name, arr)
}
}
}
}
return map
}
}
lz 你好
这个就是一个比较简单的算法题 , 你可以自己写
但是用Java语言就不需要了 , Java自带泛型相关的类 , 很有用
其中TreeSet集合能自动识别添加的是否重复 , 重复的将不会添加 , 很方便
以下是实现代码:
import java.util.Listimport 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()
}
}
运行截图:
希望能帮助你哈
主要是这一行:
if((m==0&&d[m]==d[m+1])||(m==d.length-1&&d[m]==d[m-1])||((m>0&&m<d.length-1)&&d[m]==d[m-1]||d[m]==d[m+1]))数组越界了,你在左右对比的时候,需要注意一下,不要超过了数组的边界
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)