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
展开
 我来答
百毒千毒
2018-10-13 · TA获得超过4739个赞
知道大有可为答主
回答量:2504
采纳率:88%
帮助的人:714万
展开全部
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]);
}
}
老戴在此564
2018-10-11 · TA获得超过2002个赞
知道大有可为答主
回答量:3874
采纳率:72%
帮助的人:551万
展开全部
这个应该是不匹配的原因,String b[] = Arrays.fill(); 这里面的参数都需要选择单个元素,a是String类数组,放在这里面做参数肯定是出错。
追问
可是我不定义Sring b【】,直接对对象a[]用Arrays.fill方法的话,就可以正常输出a[i]
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cxzucc
2018-10-13 · TA获得超过1317个赞
知道小有建树答主
回答量:1735
采纳率:79%
帮助的人:618万
展开全部
	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]);
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友cf73ae9
2018-10-11 · TA获得超过386个赞
知道小有建树答主
回答量:1279
采纳率:29%
帮助的人:229万
展开全部
a数组需要指定长度的,Arrays.fill放在for循环里依次遍历出来,你也是学Java的吗,有兴趣可以加好友Q:二七五六七一六八五一
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式