如何将随机整数存储到类的实例中

时间:2017-08-20 06:42:13

标签: java arrays methods arrayobject

我的任务是使用 10个随机整数值(10 - 20)作为长度,并在for循环中创建 10个Square类的实例将10个Square实例存储在sqArray中,并打印出数组中所有元素的长度和面积。

这是方形类的代码

public class Square {

    private int length;

       // Create a constructor that takes in len as parameter
       public Square(int len){
            length = len;
       }

       public int getLength(){
            return length;
       }

       public double calculateArea(){
            return length * length; 
       }
} //Square

这是我的主要课程的代码

public class SquareUser {

    public static void main(String[] args) {

        //Create an instance of array sqArray.
        Square[] sqArray = new Square [10];

        for(int i = 0; i < sqArray.length; i++) {

            sqArray[i] = (int) (Math.random()*10);
        }
    }
}

正如你所看到的,我在main class中并没有真正做任何事情,因为我不知道这个问题在谈论什么。我有两个问题:

  1. 如果数据类型是对象,如何在for循环中生成随机整数?

  2. “在sqArray中存储10平方的实例”是什么意思?他们是否要我将随机整数存储在sqArray

2 个答案:

答案 0 :(得分:3)

您只需生成10到20之间的随机整数,并将其设置为创建的对象,如下所示:

public class SquareUser {

        public static void main(String[] args) {

            //Create an instance of array sqArray.
            Square[] sqArray = new Square [10];

            for(int i = 0; i < sqArray.length; i++) {

                int val = 10 + (int) (Math.random()*10);
                sqArray[i] = new Square(val);
                System.out.println("Length is "+val);
                System.out.println("Area is "+sqArray[i].calculateArea());
            }
        }
    }

答案 1 :(得分:1)

你快到了。

  1. 替换
  2. sqArray[i] = (int) (Math.random()*10);
    

    使用

    sqArray[i] = new Square( 10 + Math.floor((int) (Math.random()*11)));
    
    1. 具有10个元素的Square个对象数组