【问题标题】:How to store random integers into an instance of a class如何将随机整数存储到类的实例中
【发布时间】:2018-01-28 11:21:11
【问题描述】:

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

这是我的正方形类代码

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. “将 10 个 Square 实例存储在 sqArray 中”是什么意思?他们是要我将随机整数存储在sqArray 中吗?

【问题讨论】:

    标签: java arrays methods arrayobject


    【解决方案1】:

    您只需要生成 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());
                }
            }
        }
    

    【讨论】:

      【解决方案2】:

      你快到了。

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

      有

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-02-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-01-13
        相关资源
        最近更新 更多