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"执行平均值,平均等计算
这可能吗?
感谢您的帮助。
答案 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();
}