0

生徒 ID の形式は xxXXXxxxxx (xx=2 桁、XXX=3 文字、xxxxx=5 桁) です。文字列を stuid="11WAD03245" として宣言します。stuid を "11" と "WAD" と "03245" に分ける必要があります。どの 11 が Jcombobox に設定され、その年のモデルは 11 から 20 WAD であり、別の Jcombobox prog に設定され、そのモデルは WAD などであり、03245 はテキスト フィールド コードに設定されます。

4

4 に答える 4

0

ここでの答えはすべて正しいです。これはまさにあなたが求めたものではありませんが、さらに一歩進めたいと思います。ID を保存する形式は非常に脆弱であり、将来の変更をサポートして作業しやすくするために簡単に改善できるようです。

インデックスに依存する場合、フィールドは一定の長さであると想定します。これが変わったら、あなたは困っています。より堅牢なアプローチは、フィールドがコンマまたは任意の区切り記号で区切られた文字列を保持する、区切られた値リストを使用することです。

あなたのケースに関する例: "11,WAD,03245"

これにより、3 つの利点が得られます。インデックス演算を処理する必要はなく、フィールドの長さに縛られず、split メソッドを使用してすべてのフィールドを個別に取得することが簡単にできます。そのようです:

    String s = "11,WAD,03245";
    String[] fields = s.split(","); 
    // fields[0] == "11", fields[1] == "WAD", fields[2] == "03245"

当然、区切り文字自体がフィールドの 1 つに表示される場合に対処する必要がありますが、通常は、適切な区切り文字を選択して入力検証を使用することで軽減できます。

操作が簡単であるという理由だけで定数フィールドの長さに頼ることができたとしても、私はこのアプローチを選択します。

于 2013-11-10T14:09:58.400 に答える