Java 通过JTextField将用户输入与双值数组相乘

Java 通过JTextField将用户输入与双值数组相乘,java,swing,jtextfield,Java,Swing,Jtextfield,我对Java(以及一般的编程)非常陌生。我正在开发一个程序,该程序应该通过一个JTextField接受来自用户的双精度值,并将其与数组中的多个双精度值相乘,然后在JTextArea中显示结果。一种你可以说的计算器 现在,我只看到输入乘以数组中最后一个值(0.50)的结果,我确定我的循环、数组或缺少什么,我只是不知道是什么 double[] percRM = {0.65, 0.75, 0.85, 0.70, 0.80, 0.90, 0.30, 0.40, 0.50};

我对Java(以及一般的编程)非常陌生。我正在开发一个程序,该程序应该通过一个JTextField接受来自用户的双精度值,并将其与数组中的多个双精度值相乘,然后在JTextArea中显示结果。一种你可以说的计算器

现在,我只看到输入乘以数组中最后一个值(0.50)的结果,我确定我的循环、数组或缺少什么,我只是不知道是什么

double[] percRM = {0.65, 0.75, 0.85, 0.70, 0.80, 0.90, 0.30, 0.40, 0.50};                
double dDouble;
double pFinal;

if(ae.getSource() == pressbutton){
       pDouble = Double.parseDouble(presstext.getText());
        for (int j=0;j<percRM.length;j++){
            pFinal = percRM[j] * pDouble;
        }
            resulttext.setText("The Sum is:" + "\n" + pFinal+ "\t");
      }

感谢您的帮助,谢谢

您的问题是您正在JTextArea上调用
setText(…)
,并在循环结束后执行此操作
setText(…)
将删除JTextArea当前显示的所有内容,并将其替换为您的新文本--现在是您想要的。
append(…)
方法只是将新文本添加到底部

而是调用
append(…)
,并在循环内部执行

for (int i = 0; i < someLength; i++) {
  double value = doSomeCalculation():
  myTextField.append("result: " + value + "\n");
}
for(int i=0;i
您的问题是,您正在JTextArea上调用
setText(…)
,并在循环结束后执行此操作
setText(…)
将删除JTextArea当前显示的所有内容,并将其替换为您的新文本--现在是您想要的。
append(…)
方法只是将新文本添加到底部

而是调用
append(…)
,并在循环内部执行

for (int i = 0; i < someLength; i++) {
  double value = doSomeCalculation():
  myTextField.append("result: " + value + "\n");
}
for(int i=0;i
谢谢,我现在就去看看。也请看我的编辑。如果您感兴趣,我还有一个问题。@user2900511:我的示例已经回答了第二部分。只要附加你需要显示的任何文本。谢谢,我现在就去查看。也请看我的编辑。如果您感兴趣,我还有一个问题。@user2900511:我的示例已经回答了第二部分。只需附加您需要显示的任何文本。