java - 同心圆和阵列

标签 java arrays for-loop nested

我有一个针对我之前发布的问题的后续问题。 Link

我不确定发布这些内容的正确礼仪,所以如果这是错误的,请原谅我。

我开始学习数组,并试图让我的同心圆现在重复 10 次(10 个不同的圆,都有 6 个环)。

这是我到目前为止的代码:

public class E4 {



    public static void main(String[] args) 
        throws FileNotFoundException {
        Scanner console = new Scanner(new File("Practice27.txt"));

        int panelX = 400, panelY = 400;
        DrawingPanel panel = new DrawingPanel(panelX, panelY);
        panel.setBackground(Color.WHITE);
        Graphics g = panel.getGraphics();
        Random r = new Random();
        int xCenter=r.nextInt(400);
        int yCenter=r.nextInt(400);

        int [][] diameters = new int[6][10];

      for(int i=0;i<diameters.length;i++){
          for(int j=0;j<diameters.length;j++){
          diameters[i][j]=console.nextInt();
          g.setColor(new Color(r.nextInt(256),r.nextInt(256), r.nextInt(256)));
            g.fillOval(xCenter-diameters[i][j]/2, yCenter-diameters[i][j]/2, diameters[i][j], diameters[i][j]);

        }

    }

}

}

到目前为止,我尝试过创建一个嵌套的 for 循环,该循环将重复我原来的 for 循环 10 次,但这不起作用。然后我尝试使用多维数组(我不太确定它们是如何工作的,所以我的语法可能完全错误)

我觉得解决方案就是我最初尝试过的(嵌套循环):

for(int i=0;i<diameters.length;i++){
            for(int j=0;j<=10;j++){
                diameters[i]=console.nextInt();
                g.setColor(new Color(r.nextInt(256),r.nextInt(256), r.nextInt(256)));
                g.fillOval(xCenter-diameters[i]/2, yCenter-diameters[i]/2, diameters[i], diameters[i]);

但这只给我留下了一个同心圆。至少我走在正确的道路上吗?再次感谢!

最佳答案

实际上你需要这样的东西。您只需要一组直径,并为每个直径创建 10 个圆

  int [] diameters = new int[6];

  for(int i=0;i<diameters.length;i++){
      diameters[i]=console.nextInt();
      for(int j=0;j<30;j+=3){
          g.setColor(new Color(r.nextInt(256),r.nextInt(256), r.nextInt(256)));
          g.fillOval(xCenter-diameters[i]/2-j, yCenter-diameters[i]/2-j, diameters[i]+j, diameters[i]+j);
      }
    }

关于java - 同心圆和阵列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29788386/

相关文章:

java - 微调器未选择项目

java - 在没有 Spark 控制台的情况下使用 Apache Spark MLib 库

java - 如何正确使用 setString 过程?

arrays - 将 float64 数组转换为 float32 数组

c++ - 零长度数组

java - Mac OSX - IllegalStateException : The driver is not executable:

JavaScript 数组长度不正确

c - 漫游队列如何使用?

javascript - mySQL查询在相同条件下检索数据不同

Java - 将变量内容设置为新变量名称