日期:2014-05-20 浏览次数:20765 次
public class Smp11 { public static void main(String args[]) { Ko lkl = new Ko(); lkl.intiko(); } } class Score { int enGrade; public void setEn(int enGrade) { this.enGrade = enGrade; } } class Ko { Score stug[] = new Score[3]; public void intiko() { //需要先给数组中的元素赋值 stug[0] = new Score(); stug[1] = new Score(); stug[2] = new Score(); stug[0].setEn(0); stug[1].setEn(1); stug[2].setEn(2); } }
------解决方案--------------------
具体做法
public class smp11 { public static void main(String args[]) { ko lkl = new ko(); lkl.intiko(); } } class score { int enGrade; public void setEn(int enGrade) { this.enGrade=enGrade; } } class ko { score stug[] = new score[3]; public void intiko() { stug[0]=new score(); stug[1]=new score(); stug[2]=new score(); stug[0].setEn(0); stug[1].setEn(1); stug[2].setEn(2); } }
------解决方案--------------------
那是因为你没有实例化score.你定义了score为3的数组类型,却忽略了实例,必须报错,这样再实例一下就行了。
public class smp11 { public static void main(String args[]) { ko lkl = new ko(); lkl.intiko(); } } class score { int enGrade; public void setEn(int enGrade) { this.enGrade=enGrade; } } class ko { int len=3; score[] stug = new score[len]; public void intiko() { for(int i=0;i<len;i++) { stug[i]=new score(); } stug[0].setEn(0); stug[1].setEn(1); stug[2].setEn(2); } }