calenderFill.java
   public void setLoukao(String loukao) {
            public String Loukao="";
if(loukao.equals(" ")){
Loukao="/";
}else if(loukao.equals("ws")){
Loukao="ws";
}
}
A.java
 calenderFill[] dayInfo=new calenderFill[day.length];
          for(int j=0;j<day.length;j++){
        dayInfo[j]=new calenderFill();
        if(day[j].equals("ws"))){
     dayInfo[j].setLoukao("ws"); 
        
         }else{
           dayInfo[j].setLoukao(" ");
         }
       }
     问题:当A.java中的for循环结束之后
用dayInfo[j].getLoukao()取得返回值的时候取不到值
只能取到dayInfo[31].getLoukao()的值(day.length=31)为什么 如何解决

解决方案 »

  1.   

    dayInfo[j]=new calenderFill();把这句给去掉。 
      

  2.   

    是因为你后面的覆盖了前面的getLoukou()方法,所以只能拿到最后一个(31的)那个数返回
    你试试将每次循环的数保存起来,然后再取。。
    dayInfo[j]=new calenderFill();这个会每次都覆盖你之前的,因为你每次都new一个新的对象
    把这个给删去吧
      

  3.   


       public void setLoukao(String loukao) {
                public String Loukao="";
            if(loukao.equals(" ")){
                Loukao="/";
            }else if(loukao.equals("ws")){
                Loukao="ws";
            }
        }你要get的是这个红色的Loukao吗?他是局部变量啊,当然取不到,
    还有day.length不是31吗?怎么会出现dayInfo[31]?不会越界吗?