在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;
}
}
上面的程序错在哪里了?请各位指出来,帮我改正改正 展开
{
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;
}
}
上面的程序错在哪里了?请各位指出来,帮我改正改正 展开
3个回答
展开全部
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]时,其实这两个变量里是没有值的,
就在这里,这里你用了两次new,也就意味着,你生成了两个不同的Shuzu类的对象出来,分别的char[]{'我'}和new char[]{'老'},所以,当你在之后 System.out的时候,读到ss[0].sz[1]和ss[1].sz[1]时,其实这两个变量里是没有值的,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
改正后 定义数组时有些语法上的问题 不过那是小问题 问题是出在输出语句上的数组越界 因为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;
}
}
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;
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询