2

私は初心者で、問題を抱えています。30 個の JTextField を含む netbeans デザイン ビューで GUI を作成しました。次に、これらのテキストフィールドをそれぞれ 10 個のテキストフィールドの 3 つの列に配置しました。したがって、ユーザーがテキストフィールドの2列に数値を入力し、最初の2列の対応する行を乗算し、結果をテキストフィールドの3列目に表示できるようにするという考え方です。これまでのところ、

    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));

しかし、これはうまくいきません。私の望む結果は、2列のテキストフィールドからのユーザー入力の結果となるように「colc」に配置した10個のテキストフィールドを持つことです。私はこの問題にすべて間違って取り組んでいると思いますか、それともコード行が欠落しているだけでしょうか? どんな助けでも大歓迎です!

4

3 に答える 3

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 つのコンパイル エラーが含まれており、おそらく望ましくないことが 1 つあります。

  1. sum = arr[i] + arr1[i];コンパイルされません。これについて考えるのに少し時間がかかる場合...左側に配列(長さ3のint配列)があり、右側でこれに単一のintを割り当てようとします。おそらくやりたいことはsum[i]=arr[i] + arr1[i];
  2. 配列のSystem.out.println(sum);実装が不十分であるため、意味不明な内容が出力されtoStringます。おそらく使用したいのはArrays#toStringメソッドです

これはかなり基本的な配列操作なので、Java 配列のチュートリアルをもう一度読みたいと思うかもしれません。

于 2012-05-03T06:09:28.823 に答える
2

一度に 1 つの問題を解決します。数値の列を追加する実際のから始めます。に変更N2、 に変更GridLayout(0, 1)GridLayout(1, 0)ます。これで、横方向に追加するパネルができました。JPanelこれらの 10 個をwithに追加しGridLayout(0, 1)ます。出来上がり!

詳細については、GridLayoutAPI を参照してください。

于 2012-05-03T05:59:47.870 に答える
0

GridLayoutデフォルトの の代わりに使用Flowlayoutします。エラーが発生した場合は、質問を編集してSSCCEを含めてください。私の知識に基づいて提案します。

于 2012-05-03T06:14:57.463 に答える