1

int 配列に値を追加する必要があります。

    int[] placeHolders[];

この配列に追加する要素のサイズがわかりません。入力があるうちに追加します。文字列出力値を int 配列に繰り返し変換する方法を知りたいです。

入力: 23.45.1.34

で文字列トークン化を使用しています。トークンを取得する

Value = Integer.parseInt(strtokObject.nextElement().toString());

上記の行を使用して単一の int 値に int を追加していますが、ベクトル (C++ STL) でプッシュするのと同じように int 要素を配列に追加する必要がある場合は実行できません。

4

5 に答える 5

5
String str = "23.45.1.34";
String sarr = str.split("\\.");
int[] result = new int[sarr.length];
for (int i = 0;  i < sarr.length;  i++) {
    result[i] = Integer.parseInt(s);
}
于 2012-09-20T07:44:28.573 に答える
2

配列に格納されるデータセットのサイズがわからない場合は、java.util.List<E>などの実装を使用する必要がありますArrayList

ArrayList<Integer> placeHolderList = new ArrayList<Integer>();
int value = Integer.parseInt(strtokObject.nextElement().toString());
placeHolderList.add(value); // adds the int to the underlying array

次に、必要に応じてList#toArrayを使用してリストを配列に変換できます。

于 2012-09-20T07:45:25.567 に答える
2

トークナイザーを使用するのではなく、myString.split("\\.")を返しString[]、同じサイズを作成してから、各文字列をintに解析するために使用します。また、文字列内の「。」を数えるint[]ことでサイズを知ることができます(たとえば、 )(明らかにその数に1を追加します)。placeHoldersmyString.replaceAll("[^\\.]", "").length()

于 2012-09-20T07:45:27.110 に答える
1

入力文字列はinput.

したがって、次のようなことができます。

String[] inputStrs = input.split("\\.");

//Do a while loop
placeholder[i] = Integer.ParseIne(inputStrs[i]);
于 2012-09-20T07:46:47.433 に答える
0

ArrayList<Integer>c++ の vector に似た which を使用できます。を使用してそれに追加しますaList.add(num);

配列が必要な場合は、最後にtoArrayメソッドを使用できます。

Integer[] arr = aList.toArray(new Integer[0]);
于 2012-09-20T07:47:41.737 に答える