item1:100
item2:50
item3:200
我想存储单独的商品和价格,并将它们存储在两个不同的数组中:例如在一个数组中,
item1
item2
item3
并在另一个数组中
100
50
200
答案 0 :(得分:2)
您可以尝试以下代码:
String DELIMITER = ":";
ArrayList<String> arrItems = new ArrayList<String>();
ArrayList<Integer> arrPrices = new ArrayList<Integer>();
然后你可以拆分字符串并将相关值存储在arraylist中:
String[] strTemp = "item1:100".split(DELIMITER);
arrItems.put(strTemp[0]);
arrPirces.put(strTemp[1]);
答案 1 :(得分: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
请记住,我只是在这里进行简单的字符串拆分而没有错误处理代码 - 如果您重视健壮的代码,您可能想要添加它,特别是如果您的输入数据可能无效(例如,{{ 1}}将生成"item4:hello"
)。
答案 2 :(得分:1)
您可以根据自己的要求使用StringTokenizer
课程。
StringTokenizer st = new StringTokenizer(yourString, ":");
arrayOne[0] = st.nextToken();
arrayTwo[0] = st.nextToken();
答案 3 :(得分:0)
您可以将split()
方法用于字符串。
String[] temp = yourString.split(":");
试试这个。
答案 4 :(得分:0)
Java在字符串中提供split函数。 {item:100}的str.split(":")
返回带有元素{"item1","100}
的String []。现在只需遍历拆分数组并构建两个部分的组合数组。
来源: http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html#split(java.lang.String)