我希望得到JTextField
中所有数字的总和。我正在使用此代码,但它不起作用。问题是,我无法从{d1}
获取JTextField
作为数字。
String a = jTextField1.getText();
int d1= Integer.parseInt(a);
int Arry[] = {d1};
int sum = 0;
for ( int i = 0; i<Arry.length; i++ )
{
sum=sum + Arry[i];
}
jTextField2.setText(sum+"");
答案 0 :(得分:0)
如果jTextField1
不仅包含数字,您可能需要提取所有数字:
Pattern p = Pattern.compile("-?\\d+");
Matcher m = p.matcher(jTextField1.getText());
List<Integer> numbers = new ArrayList<>();
while (m.find()) {
numbers.add(Integer.parseInt(m.group()));
}
然后将数字相加:
int sum = 0;
for (Integer number : numbers)
sum += number;
答案 1 :(得分:0)
如果可以保证JTextField只包含可以解析为int的输入,例如没有字母或符号,那么唯一可能存在的问题就是你的数字之间有空格。我建议您转到Pattern API并查找可以检测空格的字符,然后转到String API并找到一种可以根据输入正则表达式拆分String
的方法(正则表达式)。然后,您可以轻松地将分割String
解析为int
并获得总和。例如:
String a = jTextFieldName.getText();
String[] storage = a.someSplittingMethod("whitespace regex");
int sum = 0;
for(int c = 0; c < storage.length; c++)
sum += Integer.parseInt(storage[c]);