0

作成中のアプリケーションのグラフィック ユーザー インターフェイスの作業をしています。基本的に、ユーザーが整数を入力する必要があるこの JTextField があります。例えば

25、50、80、90

ここで、これらの値を取得して int 配列に入れる必要があるこの別のクラスがあります。

私は次のことを試しました。

guiV = dropTheseText.getText().split(",");

そして、他のクラスファイルで文字列を取得しますが、それぞれの値を取得する方法がわかりません。

最後に、私はちょうど次のようなものを取得しようとしています

int[] vD = {textfieldvaluessplitbycommahere};

Javaはまだかなり新しいですが、これは私を夢中にさせます。

4

5 に答える 5

0

あなたfairly new to Javaのように、コード スニペットを提供するのではなく、いくつかの指示を提供します。

  1. String クラスを使用します。これには、String を String の配列に分割するメソッドがあります。
  2. 次に、Integer クラスを使用します。これには、String を int に変換するメソッドがあります。
于 2013-06-23T00:47:38.760 に答える
0

直接行うことはできません。文字列配列を int 配列に変換するメソッドを追加する必要がある場合があります。このようなもの:

public int[] convertStringToIntArray(String strArray[]) {
    int[] intArray = new int[strArray.length];
    for(int i = 0; i < strArray.length; i++) {
        intArray[i] = Integer.parseInt(strArray[i]);
    }
    return intArray;
}

guiV をこのメソッドに渡し、int 配列を取得します

于 2013-06-23T00:48:00.247 に答える
0

簡単な解決策は、変換を行う関数です。

public static int[] convertTextFieldCommaSeparatedIntegerStringToIntArray(String fieldText) {
    String[] tmp = fieldText.split(",");
    int[] result = new int[tmp.length];

    for(int i = 0; i < tmp.length; i++) {
        result[i] = Integer.parseInt(tmp[i].trim());
    }

    return result;
}

重要な方法は次のとおりです。

コンマで元の入力を分割するための分割

String -> int を変換するためのparseInt 。IntegerのvalueOf関数はオプションですが、String -> Integer -> int に変換する必要があります。


ノート:

空白を削除するには、 trimを使用する必要があります。さらに、parseInt によってスローされるNumberFormatExceptionをキャッチする必要があります。チェックされていない例外としてキャッチする必要はありませんが、ユーザー入力をチェックし、必要に応じてサニタイズすることは常に賢明です。

于 2013-06-23T00:48:31.190 に答える