
java数组替换的问题
publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstubStringa[]=newString[...
public static void main(String[] args) {
// TODO Auto-generated method stub
String a[]= new String[]{"fe","ew","dd","cc"};
String b[]=Arrays.fill(a,2,3,"bb");
for(int i=0;i<b.length;i++) {
System.out.println(b[i]);
}
}
}
请问到底错在哪里啊,错误提示是:type mismatch:cannot convert from void to string 展开
// TODO Auto-generated method stub
String a[]= new String[]{"fe","ew","dd","cc"};
String b[]=Arrays.fill(a,2,3,"bb");
for(int i=0;i<b.length;i++) {
System.out.println(b[i]);
}
}
}
请问到底错在哪里啊,错误提示是:type mismatch:cannot convert from void to string 展开
展开全部
String a[]= new String[]{"fe","ew","dd","cc"};
//定义一个字符串数组a;
String b[]=Arrays.fill(a,2,3,"bb");
//声明一个字符串数组b,使用fill方法把前面a数组变化了给b
问题是fill这个方法是没有返回值的,它改变的仅仅a里面元素,所以你用b来接受一个void
就是非法的!
所以你不用任何接受,反而没事!
更多追问追答
追问
那我这个代码究竟应该怎么写,,我想把a数组里面的下标为2的元素换为“bb”
追答
public static void main(String[] args) {
// TODO Auto-generated method stub
String a[]= new String[]{"fe","ew","dd","cc"};
Arrays.fill(a,2,3,"bb");//删除你的声明就可以了.
for(int i=0;i<a.length;i++) {
System.out.println(a[i]);
}
}
展开全部
这个应该是不匹配的原因,String b[] = Arrays.fill(); 这里面的参数都需要选择单个元素,a是String类数组,放在这里面做参数肯定是出错。
追问
可是我不定义Sring b【】,直接对对象a[]用Arrays.fill方法的话,就可以正常输出a[i]
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
public static void main(String[] args) {
// TODO Auto-generated method stub
String a[] = new String[] { "fe", "ew", "dd", "cc" };
String b[] = a.clone();
Arrays.fill(b, 2, 3, "bb");
for (int i = 0; i < b.length; i++) {
System.out.println(b[i]);
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
a数组需要指定长度的,Arrays.fill放在for循环里依次遍历出来,你也是学Java的吗,有兴趣可以加好友Q:二七五六七一六八五一
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询