Java 如何使用Rectangle类创建矩形数组?
我正在处理一个任务,它应该返回一个由10个矩形组成的数组,其中包含从字符串中选择的随机高度、随机宽度和随机颜色 该程序可以很好地返回一个矩形的对象,但是我如何实现这一点来创建一个包含10个矩形的数组,然后在循环中返回每个矩形 这是我的类文件和我的对象:Java 如何使用Rectangle类创建矩形数组?,java,arrays,Java,Arrays,我正在处理一个任务,它应该返回一个由10个矩形组成的数组,其中包含从字符串中选择的随机高度、随机宽度和随机颜色 该程序可以很好地返回一个矩形的对象,但是我如何实现这一点来创建一个包含10个矩形的数组,然后在循环中返回每个矩形 这是我的类文件和我的对象: import java.util.*; public class Rectangle { private double width; private double height; public static Strin
import java.util.*;
public class Rectangle
{
private double width;
private double height;
public static String color = "White";
private Date date;
Rectangle() {
width = 1;
height = 1;
date = new Date();
}
Rectangle (double w, double h) {
width = w;
height = h;
date = new Date();
}
public double getHeight() {
return height;
}
public void setHeight(double h) {
height = h;
}
public double getWidth() {
return width;
}
public void setWidth(double w) {
width = w;
}
public static String getColor() {
return color;
}
public static void setColor(String c) {
color = c;
}
public Date getDate() {
return date;
}
public void setDate (Date d) {
date = d;
}
public double getArea() {
return width * height;
}
public double getPerimeter() {
return 2 * (width + height);
}
public String toString() {
String S;
S = "Rectangle with width of " + width;
S = S + " and height of " + height;
S = S + " was created on " + date.toString();
return S;
}
}
这是到目前为止我的客户程序。我正在设置随机高度和随机宽度,并从颜色字符串中选择随机颜色
我希望能够对包含10个不同矩形的阵列执行此操作:
import java.util.*;
public class ClientRectangle
{
public static void main(String[] args)
{
String[] colors = {"White","Blue","Yellow","Red","Green"};
Rectangle r = new Rectangle();
int k;
for(int i = 0; i < 10; i++)
{
r.setWidth((Math.random()*40)+10);
r.setHeight((Math.random()*40)+10);
System.out.println(r.toString() + " has area of " + r.getArea() + " and perimeter of " + r.getPerimeter());
k = (int)(Math.random()*4)+1;
System.out.println(colors[k]);
}
}
}
import java.util.*;
公共类ClientRectangle
{
公共静态void main(字符串[]args)
{
字符串[]颜色={“白色”、“蓝色”、“黄色”、“红色”、“绿色”};
矩形r=新矩形();
int k;
对于(int i=0;i<10;i++)
{
r、 setWidth((Math.random()*40)+10);
r、 设置高度((数学随机()*40)+10);
System.out.println(r.toString()+”的面积为“+r.getArea()+”,周长为“+r.getPeriment());
k=(int)(Math.random()*4)+1;
System.out.println(颜色[k]);
}
}
}
谢谢 创建一个矩形数组,并为每个索引添加一个矩形
Rectangle[] arr = new Rectangle[10];
for(int i = 0; i < 10; i++)
{
Rectangle r = new Rectangle();
r.setWidth((Math.random()*40)+10);
r.setHeight((Math.random()*40)+10);
arr[i] = r;
}
Rectangle[]arr=新矩形[10];
对于(int i=0;i<10;i++)
{
矩形r=新矩形();
r、 setWidth((Math.random()*40)+10);
r、 设置高度((数学随机()*40)+10);
arr[i]=r;
}
创建一个矩形数组,并为每个索引添加一个矩形
Rectangle[] arr = new Rectangle[10];
for(int i = 0; i < 10; i++)
{
Rectangle r = new Rectangle();
r.setWidth((Math.random()*40)+10);
r.setHeight((Math.random()*40)+10);
arr[i] = r;
}
Rectangle[]arr=新矩形[10];
对于(int i=0;i<10;i++)
{
矩形r=新矩形();
r、 setWidth((Math.random()*40)+10);
r、 设置高度((数学随机()*40)+10);
arr[i]=r;
}
移动矩形r=新矩形()代码>在for循环中。在循环外部初始化数组(列表),并将循环中的矩形不断添加到数组中。移动矩形r=new Rectangle()代码>在for循环中。初始化循环外部的数组(列表),并继续将循环中的矩形添加到数组中。您似乎已经知道如何声明对象数组,因为您使用的是字符串数组。矩形
s数组的宣告非常相似:
Rectangle[] rects;
请注意,还必须初始化数组。由于数组本身就是对象,因此使用new
运算符,有点像将引用变量初始化为单个矩形时:
Rectangle[] rects = new Rectangle[SIZE];
如您所见,唯一的区别是将数组的大小放在[]
s中。这只会创建对矩形
对象的引用数组。所有引用都自动设置为null
。这意味着您需要创建矩形本身。您可以在for循环中执行此操作:
for (int i = 0; i <= SIZE; ++i) {
rects[i] = new Rectangle();
}
您似乎已经知道如何声明对象数组,因为您是使用String
s数组来声明的。矩形
s数组的宣告非常相似:
Rectangle[] rects;
请注意,还必须初始化数组。由于数组本身就是对象,因此使用new
运算符,有点像将引用变量初始化为单个矩形时:
Rectangle[] rects = new Rectangle[SIZE];
如您所见,唯一的区别是将数组的大小放在[]
s中。这只会创建对矩形
对象的引用数组。所有引用都自动设置为null
。这意味着您需要创建矩形本身。您可以在for循环中执行此操作:
for (int i = 0; i <= SIZE; ++i) {
rects[i] = new Rectangle();
}
啊,我明白了,我的格式有点问题。谢谢!啊,我明白了,我的格式有点问题。非常感谢@DanielRojas我认为你没有像程序员那样使用“return”这个词。如果您对更多细节感兴趣,请了解函数及其指示结果的方式。@DanielRojas我认为您使用“return”一词的方式与程序员不同。如果您对更多细节感兴趣,请了解函数以及它们如何表示结果。