我对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.
感谢任何帮助,谢谢
答案 0 :(得分:1)
你的问题是你在JTextArea上调用setText(...)
并在循环结束后这样做。 setText(..)
将删除JTextArea当前显示的所有内容,并将其替换为您的新文本 - 现在您想要的内容。 append(...)
方法只是在底部添加新文本。
而是调用append(...)
并在循环内部执行此操作。
for (int i = 0; i < someLength; i++) {
double value = doSomeCalculation():
myTextField.append("result: " + value + "\n");
}