item1:100
item2:50
item3:200
我想存储单独的项目和价格并将它们存储在两个不同的数组中:就像在一个数组中,
item1
item2
item3
在另一个数组中
100
50
200
您可以尝试以下代码:
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]);
您可以根据需要使用StringTokenizer
类。
StringTokenizer st = new StringTokenizer(yourString, ":");
arrayOne[0] = st.nextToken();
arrayTwo[0] = st.nextToken();
您可以使用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
)。
Java 在字符串中提供了 split 函数。str.split(":")
for "item:100" 返回一个带有元素的 String[] {"item1","100}
。现在只需遍历拆分数组并构建两个部分的组合数组。
来源: http ://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html#split(java.lang.String )
您可以使用split()
字符串的方法。
String[] temp = yourString.split(":");
尝试这个。