简单的GUI计算器应用java

时间:2012-05-02 22:51:54

标签: java swing user-interface math calculator

我是新手,我遇到了问题。 我用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列文本字段的用户输入的产物。我想我接近这个问题都错了,或者只是缺少一行代码?任何帮助将不胜感激!

3 个答案:

答案 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); 
}

这里面有一个编译错误,有一件事你可能也不想要。

  1. sum = arr[i] + arr1[i];无法编译。如果你花点时间考虑一下......在左侧你有一个数组(一个长度为3的int数组),你尝试在右边为它分配一个int。您可能想要做的是sum[i]=arr[i] + arr1[i];
  2. 由于数组的实施效果不佳System.out.println(sum);toString会打印出乱码。你可能想要使用的是Arrays#toString方法
  3. 这是相当基本的数组操作,因此您可能希望再次阅读Java数组教程。

答案 1 :(得分:2)

一次解决一个问题。从工作example开始,添加一列数字。将N更改为2,并将GridLayout(0, 1)更改为GridLayout(1, 0);现在你有一个面板,可以添加。使用JPanel将其中的10个添加到GridLayout(0, 1)瞧!

查看GridLayout API了解详情。

答案 2 :(得分:0)

使用GridLayout代替Flowlayout,这是默认设置。如果发生错误,请修改您的问题以包含SSCCE,我会根据我的知识提出建议。