Java萌新求助,类的赋值问题?

public class Main { public class Mouse { int tizhong; String color; public int getTizhong() { return tizhong; } public void setTizhong(int tizhong) { this.tizhong = tizhong; } public String getColor() { return color; } public void setColor(String string) { this.color = string; } } public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc = new Scanner(System.in); while (sc.hasNext()) { int n=sc.nextInt(); Mouse []mouse =new Mouse[n]; for(int i=0;i<n;i++) { mouse[i].setTizhong(sc.nextInt()); mouse[i].setColor(sc.next()); } mouse=sort(mouse,n); for(int i=0;i<n;i++) { System.out.println(mouse[i]); } } sc.close(); } static Mouse[] sort(Mouse mouse[],int n){ for(int i=0;i<n;i++) { for(int j=0;j<n-i;j++) { if(mouse[j].tizhong<mouse[j+1].tizhong) { Mouse temp = mouse[j]; mouse[j]=mouse[j+1];mouse[j+1]=temp;} } } return mouse; } }给类赋值时一直报错,不知道为什么错了,求大神解惑

首先重现你的问题。

请注意看报错信息说的报错行数是31行。在31行你给数组元素赋值,但是你并没有先初始化数组的元素。需要先初始化一下。

修改如下:

修改之后运行,

可以了,但是你的排序方法有问题,索引超出范围了,自己使用debug调理下即可。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-04-05
控制台运行时候填个数字要大与0的整数。,或改代码就不知道了。我是渣渣
相似回答