数组内存分配问题?

时间:2018-11-10 05:33:10

标签: java

我对编码还很陌生,无法解决我的问题,因此我发布了直接代码。

该程序的目标是在构造函数中产生100个随机成绩,但构造函数的参数为​​输入的学生成绩编号。

该类和客户端可以编译并正常运行,但是当我尝试在客户端中输出垃圾数据时,我正在接收垃圾数据值。

根据请求,我也不能使用任何Java内置类( Arrays )。我一直在搞砸,似乎无法弄清楚我在做什么错,所以谢谢您的帮助。

import java.util.Random;

public class StudentGrades
{
private int grades[];

//overloaded constructor
public StudentGrades(int students)
{
    Random rand = new Random();
    grades = new int[students];
    for ( int i = 0; i < students; i++ )
    {
    grades[i] = rand.nextInt(100)+1;
    }
}

//accessor
public int []getGrades()
{
    int [] temp = new int [grades.length];
    for ( int i = 0; i < grades.length; i ++ )
    {
        temp[i] = grades[i];
    }
    return temp;
    }
}

客户端内部的代码

public class StudentGradesClient
{
    public static void main(String [] args)
    {

    StudentGrades s1 = new StudentGrades(8);

    System.out.println( "Grades in s1: " + s1.getGrades());

  }
}

这是我运行它时显示的内容:

Grades in s1: [I@6d06d69c

0 个答案:

没有答案