[英]How can I create a java program to find the amount of consecutive numbers in an array?
[英]How can I create a program that stores a numerous amount of names/numbers in an array by clicking a button without the method resetting my counter?
public void actionPerformed(ActionEvent e)
{
int clicked = 0;
if(arg == "Enter")
{
clicked++;
}
if (clicked == 0)
{
names[0] = nameField.getText();
numbers[0] = numberField.getText();
}
if( clicked == 1)
{
names[1] = nameField.getText();
numbers[1] = numberField.getText();
}
if(arg == "Print")
{
String name = nameField.getText();
String number = numberField.getText();
JOptionPane.showMessageDialog(null,names[0] + numbers[0] + names[1] + numbers[1] + numbers[2] + names[2],"Info",JOptionPane.INFORMATION_MESSAGE);
}
我的程序必须使用多个名称和数字,并且能够将它们输入到数组中。 输入所有数据后,必须能够进行打印。 我在Enter方法下遇到麻烦,因为它每次都会继续重置,而不是保持不变。 它只允许我打印最后键入的姓名/号码,而不是保存所有内容。 我不确定如何解决此问题,在此感谢您的任何建议。
您可以先将被int clicked
移出此函数。
现在,每次调用actionPerformed
函数时,将其clicked
都重置为0,因为在开始时将其设置为0。
public void actionPerformed(ActionEvent e)
{
int clicked = 0; //HERE is your problem
if(arg == "Enter");
...
使它成为类的变量而不是函数应该有所帮助。
编辑:您可以做这样的事情:
int clicked = 0
public void actionPerformed(ActionEvent e)
{
if(arg == "Enter"){
names[clicked] = nameField.getText();
numbers[clicked] = numberField.getText();
clicked++;
}
如前所述,您还可以使用List
,因为如果您不知道需要多大的数组,它可以节省问题。
List<String> names = new ArrayList<String>();
List<String> numbers = new ArrayList<String>();
并在使用中
if(arg == "Enter"){
names.add(nameField.getText());
numbers.add(numberField.getText());
}
除了数组,还可以使用ArrayList
,它将允许您添加元素而不必提供索引。
不必付出太多,就像这样:
ArrayList<String> names = new ArrayList<String>();
...
names.add("Johnny"); // Adds to the end of the list
names.add("Frank");
这样,您无需保留“点击”计数。
您可以使用.get(i)
来获取索引i
处的元素。 或者只使用for每个循环遍历整个列表:
for(String name : names) { // i.e. for each 'name' in 'names'
System.out.println(name);
// Or do something else with 'name'
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.