gpt4 book ai didi

java - ArrayList 矩形

转载 作者:行者123 更新时间:2023-11-29 03:34:58 27 4
gpt4 key购买 nike

我遇到了麻烦。我正在尝试使用用户输入的数组列表创建条形图。我可以创建一个条,但只会创建一个条。我需要所有数组输入来创建一个条。

import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Rectangle;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Random;
import org.omg.PortableServer.CurrentOperations;


public class BarChart {

private double width;
private double height;
private ArrayList<Double> values;
Random generator = new Random ();

public BarChart(double iniwidth, double iniheight) {
width = iniwidth;
height = iniheight;
values = new ArrayList<Double>();
generator = new Random();
}

public void add (double input) {
values.add(input);
}

public void draw (Graphics g2) {
double max = Collections.max(values);
int xleft = 0;
for (int i = 0; i < values.size(); i++)
{
double barHeight= (max - height);
width = 50;
float r = generator.nextFloat();
float g = generator.nextFloat();
float b = generator.nextFloat();
Color randomColor = new Color(r, g, b);
Rectangle bar = new Rectangle ((int) (xleft + width), (int) height);
g2.setColor(randomColor);
((Graphics2D) g2).fill(bar);
g2.setColor(Color.BLACK);
((Graphics2D) g2).draw(bar);

}
System.out.println(Collections.max(values));
}

最佳答案

您所有的条形都有相同的 x 位置,因此它们会自己绘制。 xLeft 始终为 0。您可能忘记增加它。

例如:

xLeft += width;

关于java - ArrayList 矩形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16070461/

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