2014-02-25 24 views
0

我需要在字符串中分配变量。如何分配字符串中的变量?

String s = "102, 145, 163, 124"; 

我想分配一个单独的变量,如下所示;

num1 = 102; 
num2 = 145; 
num3 = 163; 
num4 = 124; 

我需要以编程方式做它,因为值会改变和增加,所以无论在字符串s中分配一个变量。 感谢

+0

这是用java右?: HTTP:/ /stackoverflow.com/questions/16773599/explode-and-implodejust-like-php-in-java – Mazzy

+0

是的,对不起忘了提及 – user3339618

+0

如果会有超过4个数字,你应该看看数组 – Blorgbeard

回答

0

尽量拆分然后解析你的字符串

String s = "102, 145, 163, 124"; 
String[] sArray = s.split(","); 
List<Integer> integers = new ArrayList<Integer>(); 
for(String item:sArray){ 
    integers.add(Integer.parseInt(s.replace(",",""))); 
} 
+1

您可能还想在该replace()的末尾添加trim(),否则他的字符串将抛出IllegalArgumentException或numberFormatException(我不记得哪一个,但我猜数字为1) – Guardanis

+0

可以是修剪或更改拆分为“[0-9] *”,但我认为Integer.parseInt(字符串)可以解析字符串中的空格的数字(现在不能测试)... – GhostDerfel

0
StringTokenizer tokenizer = new StringTokenizer(s, ", "); 
for (int i = 0; i < tokenizer.countTokens(); i++) 
+0

如何将结果变量保存在数组中?类似于int [] arr = new int [字符串中的结果变量] – user3339618

+0

定义数组int array = new array [tokenizer.countTokens()]。然后在循环中array [i] = tokenizer.nextToken()。 –

+0

到目前为止,这是我所做的,String str =“102,145,163,124”; \t \t String [] nums = str.split(“,”); \t \t \t \t int [] newArr = new int [nums.length]; \t \t对(INT I = 0;我 user3339618

2

如果值要改变,你应该考虑使用ArrayList,这将是动态的,并与您的数据的长度变化。

举例来说,你可以很容易的所有数据转换到一个ArrayList是这样的:

String string = "102, 145, 163, 124"; 
ArrayList<Integer> list = new ArrayList<Integer>(); 
for(String s : string.split(",")) list.add(Integer.parseInt(s.trim())); 

每个项目将被访问通过调用它的指数,像这样:在

int num0 = list.get(0); 
int last = list.get(list.size() - 1); 

存储数据列表是一种可扩展的动态方法。

+0

如何循环这些项目可以像int [] xAxis = new int [] {102,145,163,124};谢谢 – user3339618

1

因为有值的动态数,则需要使用的阵列(或ArrayList的):

String s = "102, 145, 163, 124"; 

String[] nums = s.split(", "); 

// just printing the array 
for (int i = 0; i < nums.length; i++) { 
    System.out.println(nums[i]); 
} 

的那个输出:

102 
145 
163 
124 
相关问题