我将用Java创建一个程序。这是交互式快速排序模拟器。首先,您必须输入要排序的整数数。按下下一步后,会有一些文本字段根据您最初放入的数字编号,即。如果您输入15,将有15个文本字段供您输入数字。如果您输入20,则会有20个文本字段供您使用。按下下一步后,这些值将存储在一个数组中,其大小等于第一位的数字。
我的问题是,必须将文本字段命名(即.jtextfield0到jtextfield15)并获取要存储在数组中的文本字段的值,它必须像
a[0] = jtextfield0.getValue();
a[1] = jtextfield1.getValue();
等等。这样,它就是如此粗野的强迫和不灵活。
我如何使用循环来处理这个问题?
答案 0 :(得分:1)
您可以创建array
或List<T>
个对象。
对象数组:
JTextField fields[]=new JTextField[15];
for(int i=0;i<fields.length;i++)
{
fields[i]=new JTextField(5);
}
答案 1 :(得分:1)
您可以将文本字段添加到ArrayList
并对此ArrayList
执行循环:
List<JTextField> textFields = new ArrayList<JTextField>();
...
//add your textfields to arraylist
...
for(int i = 0;i< textFields.size(); i++){
fields[i] = textFields.get(i).getValue();
}
答案 2 :(得分:0)
在您的情况下将JTextFields数组添加到ArrayList:
textFields.addAll(Arrays.asList的(a));