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

时间:2013-11-23 23:43:03

标签: java swing jtextfield

我对Java(以及一般的编程)非常陌生。我正在开发一个程序,该程序应该通过JTextField接受来自用户的double值,并将其与数组中的相当多的double值相乘,并将结果显示在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");
      }

我还有一个带有相当多按钮的JFrame。如果您希望我显示整个代码,请告诉我。

虽然我在这里,我想知道如何在每个打印的值旁边添加一些文字,让我们说用户输入为100,结果将是(例子):

The sum is:

Week1:
Set1 = 65
Set2 = 75
Set3 = 85
etc.

感谢任何帮助,谢谢

1 个答案:

答案 0 :(得分:1)

你的问题是你在JTextArea上调用setText(...)并在循环结束后这样做。 setText(..)将删除JTextArea当前显示的所有内容,并将其替换为您的新文本 - 现在您想要的内容。 append(...)方法只是在底部添加新文本。

而是调用append(...)并在循环内部执行此操作。

for (int i = 0; i < someLength; i++) {
  double value = doSomeCalculation():
  myTextField.append("result: " + value + "\n");
}