gpt4 book ai didi

java - 在Java中绘制彼此相邻的矩形

转载 作者:行者123 更新时间:2023-12-01 17:31:05 25 4
gpt4 key购买 nike

我正在学习用 Java 编写代码。我需要做这样的评估:我必须创建一个 java 应用程序来执行以下操作:

  • 允许用户指定输入矩形的数量(3 到 30 之间)。

  • 生成请求数量的输入矩形(具有随机宽度和高度)并将它们写入文件(人类可读)。

  • 从上述步骤生成的文件中读取随机生成的输入矩形。

  • 以图形方式显示输入矩形,并正确排列在一起

  • 计算输出矩形。

  • 以图形方式显示输出矩形,彼此正确排列。注意:输入和输出矩形必须同时显示。

  • 将输出矩形坐标写入输出文件(人类可读)。”

矩形是简单的盒子(不是花哨的颜色等)。我一直在努力处理这段代码,设法完成输入+错误处理,它显示矩形,但不符合预期。

错误:我需要它接受用户提供的矩形数量并将它们并排显示。

请在下面找到我的代码...提前致谢。磅

<小时/>
import java.awt.Graphics;
import javax.swing.JFrame;
import java.util.Random;
import java.util.Scanner;


public class final_rect extends JFrame
{

public final_rect()
{
setTitle("tutorial");
setSize(700,500);
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}

public void paint(Graphics g)
{
int x = 50;
int y = 50;
Random rnd = new Random();

for (int i=1; i <=5; i++)
{
int width = rnd.nextInt(200);
int height = rnd.nextInt(200);
System.out.println("Rectangle["+ i +"]" + ":(W="+width+ ";H=" +height +")");

g.drawRect( x , y , width, height);

// Update the coordinates for the next rectangle.
x = x + width;
}
}

public static void main(String[] args)

{

Scanner sc = new Scanner(System.in);

int number;
do {
System.out.println("Please enter a number between 3 and 30!");
while (!sc.hasNextInt()) {
System.out.println("That's not a number! Please enter a number between 3 and 30!!!");
sc.next();
}
number = sc.nextInt();
}
while (number <3 || number > 30);

System.out.println("Thank you! Got " + number);

test1 t = new test1();
t.paint(null);

}
}

最佳答案

简单的方法:

您可以指定起始位置 x 和 y(如 0,0),并继续将宽度添加到 x 和/或将高度添加到 y,并在下一个要绘制的矩形上使用它们,而不是固定起始位置(这将使它们彼此内部)。

哦,只是为了确保您知道:drawRect(int startX, int startY, int width, int height)

关于java - 在Java中绘制彼此相邻的矩形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10805419/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com