[英]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.