我是新手,我遇到了问题。 我用netbeans设计视图创建了一个包含30个JTextField的gui。 然后将这些文本字段分成3列,每列10个文本字段。 因此,我们的想法是让用户能够在2列中输入数字 然后将文本字段的相应行乘以前两列的相应行,并将结果显示在第三列文本字段中。到目前为止我已经
了 float a1 = Float.parseFloat(text1.getText()) //This 30 times one for each field
float [] cola;
cola = newfloat[10] //I did this 3 times to create 3 columns
cola[0] = a1 // I did this to place the variables in the columns
cola[1] = a2 // cola and colb for retrieved from user and colc for results
这继续创建3列...... 然后我就这样将它们相乘......
result = (colla*colb);
colc.setText(String.valueOf(result));
但这不起作用。我想要的结果是让我把10个文本区域变成'colc',成为来自2列文本字段的用户输入的产物。我想我接近这个问题都错了,或者只是缺少一行代码?任何帮助将不胜感激!
答案 0 :(得分:4)
对于你在评论中提到的问题(为了清楚起见,我将在此重复,因为评论中的代码不是很令人满意):
public static void main(String[] args) {
int arr[] = {9,9,9};
int arr1[] = {9,9,9};
int sum[] = {0,0,0};
for (int i=0; i < arr.length; i++)
sum = arr[i] + arr1[i];
System.out.println(sum);
}
这里面有一个编译错误,有一件事你可能也不想要。
sum = arr[i] + arr1[i];
无法编译。如果你花点时间考虑一下......在左侧你有一个数组(一个长度为3的int数组),你尝试在右边为它分配一个int。您可能想要做的是sum[i]=arr[i] + arr1[i];
,System.out.println(sum);
,toString
会打印出乱码。你可能想要使用的是Arrays#toString
方法这是相当基本的数组操作,因此您可能希望再次阅读Java数组教程。
答案 1 :(得分:2)
一次解决一个问题。从工作example开始,添加一列数字。将N
更改为2
,并将GridLayout(0, 1)
更改为GridLayout(1, 0)
;现在你有一个行面板,可以添加。使用JPanel
将其中的10个添加到GridLayout(0, 1)
。 瞧!
查看GridLayout
API了解详情。
答案 2 :(得分:0)
使用GridLayout
代替Flowlayout
,这是默认设置。如果发生错误,请修改您的问题以包含SSCCE,我会根据我的知识提出建议。