在java中定义一个数组对象怎么赋值

publicclassDemo1{publicstaticvoidmain(String[]args){Shuzu[]ss=newShuzu[](newShuzu(new... public class Demo1
{
public static void main(String[] args)
{

Shuzu[] ss=new Shuzu[](new Shuzu(new char[]{'我'});new Shuzu(new char[]{'老'}));
System.out.println (ss[0].sz[0]+""+ss[0].sz[1]+ss[1].sz[0]+ss[1].sz[1]); }
}
class Shuzu
{
char[] sz;
public Shuzu(char[] sz)
{
this.sz=sz;
}
}
上面的程序错在哪里了?请各位指出来,帮我改正改正
展开
 我来答
woshidaniel
推荐于2017-10-07 · TA获得超过9240个赞
知道小有建树答主
回答量:1760
采纳率:96%
帮助的人:951万
展开全部

1、定义一个数组对象

String[] arr = new String[2];//定义一个字符串数组变量arr,数组是一维数组,长度是2

2、通过数组索引给数组赋值

arr[0] = "a";//给数组第一个赋值字符串a
arr[1] = "b";//给数组第二个赋值字符串b
kingofsong
2010-11-29 · TA获得超过168个赞
知道小有建树答主
回答量:230
采纳率:100%
帮助的人:85.6万
展开全部
new Shuzu(new char[]{'我'});new Shuzu(new char[]{'老'})); ————相当于ss[0].sz[0]={'我'};ss[1].sz[0]={'老'};

就在这里,这里你用了两次new,也就意味着,你生成了两个不同的Shuzu类的对象出来,分别的char[]{'我'}和new char[]{'老'},所以,当你在之后 System.out的时候,读到ss[0].sz[1]和ss[1].sz[1]时,其实这两个变量里是没有值的,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
amar036031
推荐于2017-10-14 · 超过11用户采纳过TA的回答
知道答主
回答量:70
采纳率:0%
帮助的人:0
展开全部
改正后 定义数组时有些语法上的问题 不过那是小问题 问题是出在输出语句上的数组越界 因为ss[0].sz[1]和ss[1].sz[1]并不存在
public class Demo1
{
public static void main(String[] args)
{

Shuzu[] ss=new Shuzu[]{new Shuzu(new char[]{'我','是'}),new Shuzu(new char[]{'老','大'})};
System.out.println (ss[0].sz[0]+""+ss[0].sz[1]+ss[1].sz[0]+ss[1].sz[1]); }
}
class Shuzu
{
char[] sz;
public Shuzu(char[] sz)
{
this.sz=sz;
}
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式