0
item1:100

item2:50

item3:200

別々のアイテムと価格を保存し、2つの異なる配列に保存したい:1つの配列のように、

item1

item2

item3

そして別の配列で

100

50

200
4

5 に答える 5

2

次のコードを試すことができます。

String DELIMITER = ":";

ArrayList<String> arrItems = new ArrayList<String>();
ArrayList<Integer> arrPrices = new ArrayList<Integer>();

次に、文字列を分割して、関連する値を次のように配列リストに格納できます。

String[] strTemp = "item1:100".split(DELIMITER);
arrItems.put(strTemp[0]);
arrPirces.put(strTemp[1]);
于 2012-08-14T07:31:54.127 に答える
1

split別の文字列(実際には正規表現)に基づいて文字列を区切るために使用できます。

String str = "item1:100";
String[] words = str.split (":");

そこから、一方のwords[0]アレイともう一方のアレイに追加するだけwords[1]です。

次の完全なプログラムは、それがどのように行われるかを示しています。

import java.util.ArrayList;
class Test {
    private static ArrayList<String> items = new ArrayList<String>();
    private static ArrayList<Integer> values = new ArrayList<Integer>();
    private static void addToArray (String str) {
        String[] words = str.split(":");
        items.add(words[0]);
        values.add(new Integer (words[1]));
    }
    public static void main(String[] args) {
        addToArray ("item1:100");
        addToArray ("item2:50");
        addToArray ("item3:200");

        for (int i = 0; i < items.size(); i++)
            System.out.println ("Item = " + items.get(i) +
                ", value = " + values.get(i));
    }
}

出力:

Item = item1, value = 100
Item = item2, value = 50
Item = item3, value = 200

ここでは、エラー処理コードを使用せずに単純な文字列分割を行っていることに注意してください。堅牢なコードを重視する場合、特に入力データが有効でない可能性がある場合(たとえば、"item4:hello"を生成する場合java.lang.NumberFormatException)は、これを追加することをお勧めします。

于 2012-08-14T07:28:02.747 に答える
1

StringTokenizer要件に応じてクラスを使用できます。

StringTokenizer st = new StringTokenizer(yourString, ":");
arrayOne[0] = st.nextToken();
arrayTwo[0] = st.nextToken(); 
于 2012-08-14T07:29:22.690 に答える
0

Javaは文字列でsplit関数を提供します。str.split(":")for "item:100"は、要素を含むString[]を返します{"item1","100}。ここで、分割された配列を繰り返し処理し、2つの部分の結合された配列を作成します。

ソース: http ://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html#split(java.lang.String )

于 2012-08-14T07:33:44.493 に答える
0

split()文字列のメソッドを使用できます。

     String[] temp = yourString.split(":");

これを試して。

于 2012-08-14T07:28:51.250 に答える