Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java for循环逻辑的问题_Java_For Loop - Fatal编程技术网

Java for循环逻辑的问题

Java for循环逻辑的问题,java,for-loop,Java,For Loop,我很难理解为什么我的for循环没有按我希望的那样运行。我循环的目的是在GUI上添加多个文本字段,确切地说是70。7号线,10号线。它可以很好地添加字段,但比我想要的短一行和一列。这似乎是足够的信息来确定问题,但我不能,所以我来到这里 for(int i = 0; i < 6; i++){ for(int j = 0; j < 9; j++){ OT2Field[i][j] = new JTextField();

我很难理解为什么我的for循环没有按我希望的那样运行。我循环的目的是在GUI上添加多个文本字段,确切地说是70。7号线,10号线。它可以很好地添加字段,但比我想要的短一行和一列。这似乎是足够的信息来确定问题,但我不能,所以我来到这里

        for(int i = 0; i < 6; i++){
            for(int j = 0; j < 9; j++){
                OT2Field[i][j] = new JTextField();
                OT1Field[i][j] = new JTextField();
                STField[i][j] = new JTextField();
            }
        }

        int xPointer = 3;
        int yPointer = 7;
        for(int i = 0; i < 6; i++){
            for(int j = 0; j < 9; j++){
                addTimeFieldBorder0010(option3, OT2Field[i][j], gridbag, gbc, xPointer, yPointer, 1, 1, 0);
                yPointer = yPointer + 3;
            }
            xPointer++;
            yPointer = 7;
        }


    }

    private void addTimeFieldBorder0010(JComponent container, JComponent component, 
            GridBagLayout gridbag, GridBagConstraints gbc,
            int x, int y, int height, int width, double weightx) {
        gbc.gridx = x;
        gbc.gridy = y;
        gbc.gridheight = height;
        gbc.gridwidth = width;
        gbc.weightx = weightx;
        ((JTextField) component).setHorizontalAlignment(JLabel.CENTER);
        component.setBorder(BorderFactory.createMatteBorder(0, 0, 1, 0, Color.red));
        component.setFont(component.getFont().deriveFont(18.0f));
        component.setForeground(Color.red);
        component.setBackground(Color.YELLOW);
        gridbag.setConstraints(component, gbc);


        container.add(component, gbc);
     }
据报道,

根据


外部循环产生的值仅在0到5之间执行,内部循环仅在0到8之间执行。将循环更改为

for(int i = 0; i < 7; i++){
        for(int j = 0; j < 10; j++){
            OT2Field[i][j] = new JTextField();
            OT1Field[i][j] = new JTextField();
            STField[i][j] = new JTextField();
        }
    }

您的外部循环仅在0到5之间执行,而内部循环仅在0到8之间执行。将循环更改为

for(int i = 0; i < 7; i++){
        for(int j = 0; j < 10; j++){
            OT2Field[i][j] = new JTextField();
            OT1Field[i][j] = new JTextField();
            STField[i][j] = new JTextField();
        }
    }
循环i在0到5之间循环,循环j在0到8之间循环。 这就是它短停一行一列的原因。 您应按以下方式更改它们:

for(int i = 0; i <= 6; i++){
  for(int j = 0; j <= 9; j++){
    ...
  }
}

循环i在0到5之间循环,循环j在0到8之间循环。 这就是它短停一行一列的原因。 您应按以下方式更改它们:

for(int i = 0; i <= 6; i++){
  for(int j = 0; j <= 9; j++){
    ...
  }
}

你的循环应该是

for(int i = 0; i < 7; i++)
{
   for(int j = 0; j < 10; j++)
   {

       //your code
   }
}
你的循环应该是

for(int i = 0; i < 7; i++)
{
   for(int j = 0; j < 10; j++)
   {

       //your code
   }
}

妈的,我就知道这会是件很琐碎的事。谢谢,10分钟后我会接受的,我知道这将是一件非常琐碎的事情。谢谢,10分钟后我会接受。你能在回答的同时添加一些额外的信息吗?你能在回答中解释一下这个代码吗?那样你可能会得到更多的选票!你能在回答的同时添加一些额外的信息吗?你能在回答中解释一下这个代码吗?那样你可能会得到更多的选票!