如何在文本字段中输入整数并将它们添加到数组中?

时间:2014-09-13 19:03:10

标签: java arrays swing java.util.scanner jtextfield

public void actionPerformed(ActionEvent BUTTON_PRESS) { 

    if(BUTTON_PRESS.getSource() == button){                        

            /* Would like to use the TextField input as a Scanner here */

            outputField.setText(output);
        }
    }

我希望接受用户输入并使用" ints"执行平均值,平均等计算

这可能吗?

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

如果您尝试将int添加到数组中:

您的代码设置了JTextField中的文本,这似乎与您希望的相反。而是通过getText()从JTextField获取文本,通过Integer.parseInt(...)将其转换为int,然后将其放入数组中。

类似的东西:

public void actionPerformed(ActionEvent evt) {
   String text = myTextField.getText();
   int myInt = Integer.parseInt(text); // better to surround with try/catch
   myArray[counter] = myInt;
   counter++; // to move to the next counter
}

如果您正在尝试进行数值计算,则不需要数组,您的问题会非常混乱。


修改
关于你的评论:

  

所以我不能从文本字段中分割出一串数字,并说将它们加在一起?

您可以使用Scanner对象进行解析:

public void actionPerformed(ActionEvent evt) {
   String text = myTextField.getText();
   Scanner scanner = new Scanner(text);
   // to add:
   int sum = 0;
   while (scanner.hasNextInt()) {
      sum += scanner.nextInt();
   }
   scanner.close();
   outputField.setText("Sum: " + sum);
}

...或

public void actionPerformed(ActionEvent evt) {
   List<Integer> list = new ArrayList<Integer>();
   String text = myTextField.getText();
   Scanner scanner = new Scanner(text);
   // to add to a list
   while (scanner.hasNextInt()) {
      list.add(scanner.nextInt());
   }
   scanner.close();

   // now you can iterate through the list to do all sorts of math operations
   // outputField.setText();
}