
用java语言写个方法去除数组中的重复数字,如{1,2,2,2,10,27,10}->{1,2,10,27}
我是这样写的:int[]num={1,2,2,2,10,27,10};Sets=newHashSet();for(inti=0;i<num.length;i++){s.a...
我是这样写的:
int[] num = {1,2,2,2,10,27,10};
Set s = new HashSet();
for(int i = 0 ; i<num.length ; i++){
s.add(num[i]);
}
int[] in =(int[])s.toArray();//这一步出错,我不知道为什么,怎么解决?
System.out.println(in.toString()); 展开
int[] num = {1,2,2,2,10,27,10};
Set s = new HashSet();
for(int i = 0 ; i<num.length ; i++){
s.add(num[i]);
}
int[] in =(int[])s.toArray();//这一步出错,我不知道为什么,怎么解决?
System.out.println(in.toString()); 展开
7个回答
展开全部
Object[] in =s.toArray();
这里s.toArray();返回的是Object 数组,
object 是所有类型的父类,只可以int强转object,
但是不能将object强转int
所以报错,下面是修改后的程序:
int[] num = {1,2,2,2,10,27,10};
Set s = new HashSet();
for(int i = 0 ; i<num.length ; i++){
s.add(num[i]);
}
Object[] in =s.toArray();
for (int i = 0; i < in.length; i++) {
System.out.print(in[i].toString()+",");
}
这里s.toArray();返回的是Object 数组,
object 是所有类型的父类,只可以int强转object,
但是不能将object强转int
所以报错,下面是修改后的程序:
int[] num = {1,2,2,2,10,27,10};
Set s = new HashSet();
for(int i = 0 ; i<num.length ; i++){
s.add(num[i]);
}
Object[] in =s.toArray();
for (int i = 0; i < in.length; i++) {
System.out.print(in[i].toString()+",");
}
展开全部
遍历Set的方法你好像不懂吧?
出错的地方后面改成这样....
Iterator it = s.iterator();
while(it.hasNext()){
System.out.println(it.next());
}
出错的地方后面改成这样....
Iterator it = s.iterator();
while(it.hasNext()){
System.out.println(it.next());
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
s.toArray()返回的是Object[]数组,所以如果改成Integer[] in =(Integer[]) s.toArray();int 标示的基本数据类型,所以应该用他的包装类Integer.可以多参考api文档来学习
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
从一个对象数组怎么能强制转为int数组呢。直接用Object[]接收就好了。本身int就是Object。不会打印成别的。
public class JavaRandom
{
public static void main(String args[]) {
int[] num = {1,2,2,2,10,27,10};
Set s = new HashSet();
for(int i = 0 ; i<num.length ; i++){
s.add(num[i]);
}
Object[] object=s.toArray();//这一步出错,我不知道为什么,怎么解决?
for (int i = 0; i < object.length; i++) {
System.out.println(object[i]);
}
}
}
public class JavaRandom
{
public static void main(String args[]) {
int[] num = {1,2,2,2,10,27,10};
Set s = new HashSet();
for(int i = 0 ; i<num.length ; i++){
s.add(num[i]);
}
Object[] object=s.toArray();//这一步出错,我不知道为什么,怎么解决?
for (int i = 0; i < object.length; i++) {
System.out.println(object[i]);
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用你的程序,
int[] num = {1,2,2,2,10,27,10};
Set s = new HashSet();
for(int i = 0 ; i<num.length ; i++){
s.add(num[i]);
}
for(Object i:s.toArray())
{
System.out.println(i);
}
int[] num = {1,2,2,2,10,27,10};
Set s = new HashSet();
for(int i = 0 ; i<num.length ; i++){
s.add(num[i]);
}
for(Object i:s.toArray())
{
System.out.println(i);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
HashSet 强转 int数组??这么强悍的写法。。怎么不会报错。。int不是对象类型,,Integer 才是
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询