Java 对于循环赢得';不要踢出去

Java 对于循环赢得';不要踢出去,java,Java,这是我正在为一项任务编写的代码。假设我想做三张表(只是一个随机数。表的数量可以是任何数字,只要不超过100)。为什么在输入第三个表的值后循环不退出呢。此外,还为可以创建的表的数量设置了最大限制 import javax.swing.JOptionPane; class MakeTables { private static final int MAX_NUMBER_TABLES = 100; public static void main(String[] args)

这是我正在为一项任务编写的代码。假设我想做三张表(只是一个随机数。表的数量可以是任何数字,只要不超过100)。为什么在输入第三个表的值后循环不退出呢。此外,还为可以创建的表的数量设置了最大限制

import javax.swing.JOptionPane;

class MakeTables
{
    private static final int MAX_NUMBER_TABLES = 100;
    public static void main(String[] args)
    {
        Table[] tables = new Table[MAX_NUMBER_TABLES];
        for (int i = Integer.parseInt(JOptionPane.showInputDialog("How many tables would you like to create?")); i < tables.length; i++)
        {
            tables[i] = new Table();
            if (tables[i] != null)
            {
                tables[i].setHeight(Double.parseDouble(JOptionPane.showInputDialog("Enter height:")));
                tables[i].setWeight(Double.parseDouble(JOptionPane.showInputDialog("Enter weight:")));
                tables[i].setColor(JOptionPane.showInputDialog("Enter color:"));
                tables[i].setNumberOfLegs(Integer.parseInt(JOptionPane.showInputDialog("Enter number of legs:")));
                JOptionPane.showMessageDialog(null,(tables[i].toString()));
            } // end if
        } // end for
    } // end main
} // end class
import javax.swing.JOptionPane;
类生成表
{
专用静态最终整数最大数表=100;
公共静态void main(字符串[]args)
{
Table[]tables=新表[MAX_NUMBER_tables];
对于(int i=Integer.parseInt(JOptionPane.showInputDialog(“您要创建多少个表?”);i
for(int i=Integer.parseInt(JOptionPane.showInputDialog(“您要创建多少个表?”);i
这里,循环计数器
i
最初设置为3(或用户输入的任何值)。然后循环继续,直到
i
=100。这就是为什么它没有像你期望的那样工作


最初将计数器设置为0,然后在计数器达到用户指定的限制或数组大小时中断循环。更好的是,在知道用户指定的限制之前不要创建数组。

如果用户输入20,那么首先访问数组的哪个索引?@Sotirios Delimanolis tables[20]| |第21个对象您应该询问数组的长度,而不是从分配开始的位置
for (int i = Integer.parseInt(JOptionPane.showInputDialog("How many tables would you like to create?")); i < tables.length; i++)